migrated old network ids to new enum based ids

git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@402 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
andreas.schildbach@gmail.com 2010-12-18 17:01:56 +00:00
parent 90cf8234b7
commit e6c560a4f4
36 changed files with 284 additions and 50 deletions

View file

@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package de.schildbach.pte; package de.schildbach.pte;
import java.text.DateFormat; import java.text.DateFormat;
@ -28,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class AvvProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://efa.avv-augsburg.de/avv/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -45,7 +45,8 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public final class BahnProvider extends AbstractHafasProvider 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 String API_BASE = "http://mobile.bahn.de/bin/mobil/";
private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000; 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); super(null, null);
} }
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
return true; return true;

View file

@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package de.schildbach.pte; package de.schildbach.pte;
import java.text.DateFormat; import java.text.DateFormat;
@ -28,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class BsvagProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://212.68.73.240/bsvag/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package de.schildbach.pte; package de.schildbach.pte;
import java.text.DateFormat; import java.text.DateFormat;
@ -28,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class BvbProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://www.efa-bvb.ch/bvb/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -23,8 +23,6 @@ import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.HashMap; import java.util.HashMap;
@ -52,7 +50,8 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public final class BvgProvider extends AbstractHafasProvider 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_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000;
private static final long PARSER_DAY_ROLLDOWN_THRESHOLD_MS = 6 * 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); super(null, null);
} }
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package de.schildbach.pte; package de.schildbach.pte;
import java.text.DateFormat; import java.text.DateFormat;
@ -28,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class DingProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://www.ding-ulm.de/ding2/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package de.schildbach.pte; package de.schildbach.pte;
import java.text.DateFormat; import java.text.DateFormat;
@ -29,9 +30,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class DubProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://wojhati.rta.ae/dub/";
public NetworkId id()
{
return NETWORK_ID;
}
@Override @Override
protected TimeZone timeZone() protected TimeZone timeZone()
{ {

View file

@ -32,9 +32,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class GvhProvider extends AbstractEfaProvider 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/"; private static final String API_BASE = "http://mobil.gvh.de/mobile2/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package de.schildbach.pte; package de.schildbach.pte;
import java.text.DateFormat; import java.text.DateFormat;
@ -28,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class IvbProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://efa.ivb.at/ivb/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class KvvProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://213.144.24.66/kvv/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -30,9 +30,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class LinzProvider extends AbstractEfaProvider 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 static final String API_BASE = "http://www.linzag.at/linz/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class MariborProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://164.8.32.183/slo/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -32,9 +32,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class MvvProvider extends AbstractEfaProvider 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/"; private static final String API_BASE = "http://efa.mvv-muenchen.de/mobile/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class NaldoProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://efa.naldo.de/naldo/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -42,7 +42,8 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class NasaProvider extends AbstractHafasProvider 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 String API_BASE = "http://www.nasa.de/delfi52/";
private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000; 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); super(null, null);
} }
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -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
}

View file

@ -44,6 +44,8 @@ public interface NetworkProvider
SLOW, NORMAL, FAST SLOW, NORMAL, FAST
} }
NetworkId id();
boolean hasCapabilities(Capability... capabilities); boolean hasCapabilities(Capability... capabilities);
/** /**

View file

@ -38,17 +38,22 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class NsProvider extends AbstractHafasProvider 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 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() public NsProvider()
{ {
super(API_URI, null); super(API_URI, null);
} }
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)
@ -86,7 +91,7 @@ public class NsProvider extends AbstractHafasProvider
+ "(.*?)\r\n</div>" // departures + "(.*?)\r\n</div>" // departures
+ "|(Eingabe kann nicht interpretiert)|(Verbindung zum Server konnte leider nicht hergestellt werden))" // + "|(Eingabe kann nicht interpretiert)|(Verbindung zum Server konnte leider nicht hergestellt werden))" //
+ ".*?", Pattern.DOTALL); + ".*?", Pattern.DOTALL);
private static final Pattern P_DEPARTURES_HEAD_FINE = Pattern.compile("" // private static final Pattern P_DEPARTURES_HEAD_FINE = Pattern.compile("" //
+ "<strong>(.*?)</strong><br />\r\n" // location + "<strong>(.*?)</strong><br />\r\n" // location
+ "Abfahrt (\\d{1,2}:\\d{2}),\r\n" // time + "Abfahrt (\\d{1,2}:\\d{2}),\r\n" // time
+ "(\\d{2}/\\d{2}/\\d{2})" // date + "(\\d{2}/\\d{2}/\\d{2})" // date
@ -119,8 +124,8 @@ public class NsProvider extends AbstractHafasProvider
if (mHeadFine.matches()) if (mHeadFine.matches())
{ {
final String location = ParserUtils.resolveEntities(mHeadFine.group(1)); final String location = ParserUtils.resolveEntities(mHeadFine.group(1));
final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDateSlash(mHeadFine.group(3)), ParserUtils.parseTime(mHeadFine final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDateSlash(mHeadFine.group(3)),
.group(2))); ParserUtils.parseTime(mHeadFine.group(2)));
final List<Departure> departures = new ArrayList<Departure>(8); final List<Departure> departures = new ArrayList<Departure>(8);
final Matcher mDepCoarse = P_DEPARTURES_COARSE.matcher(mHeadCoarse.group(2)); final Matcher mDepCoarse = P_DEPARTURES_COARSE.matcher(mHeadCoarse.group(2));

View file

@ -45,7 +45,8 @@ import de.schildbach.pte.util.ParserUtils;
public class OebbProvider extends AbstractHafasProvider 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/"; private static final String API_BASE = "http://fahrplan.oebb.at/bin/";
public OebbProvider() public OebbProvider()
@ -53,6 +54,11 @@ public class OebbProvider extends AbstractHafasProvider
super(null, null); super(null, null);
} }
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -45,8 +45,8 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class RmvProvider extends AbstractHafasProvider public class RmvProvider extends AbstractHafasProvider
{ {
public static final String NETWORK_ID = "mobil.rmv.de"; public static final NetworkId NETWORK_ID = NetworkId.RMV;
public static final String NETWORK_ID_ALT = "www.rmv.de"; 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 String API_BASE = "http://www.rmv.de/auskunft/bin/jp/";
private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000; 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); super(null, null);
} }
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -38,7 +38,8 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class SbbProvider extends AbstractHafasProvider 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_BASE = "http://fahrplan.sbb.ch/bin/";
private static final String API_URI = "http://fahrplan.sbb.ch/bin/extxml.exe"; 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); super(API_URI, accessId);
} }
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -38,17 +38,22 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class SncbProvider extends AbstractHafasProvider 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 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() public SncbProvider()
{ {
super(API_URI, null); super(API_URI, null);
} }
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)
@ -86,7 +91,7 @@ public class SncbProvider extends AbstractHafasProvider
+ "(.*?)\r\n</div>" // departures + "(.*?)\r\n</div>" // departures
+ "|(Eingabe kann nicht interpretiert)|(Verbindung zum Server konnte leider nicht hergestellt werden))" // + "|(Eingabe kann nicht interpretiert)|(Verbindung zum Server konnte leider nicht hergestellt werden))" //
+ ".*?", Pattern.DOTALL); + ".*?", Pattern.DOTALL);
private static final Pattern P_DEPARTURES_HEAD_FINE = Pattern.compile("" // private static final Pattern P_DEPARTURES_HEAD_FINE = Pattern.compile("" //
+ "<strong>(.*?)</strong><br />\r\n" // location + "<strong>(.*?)</strong><br />\r\n" // location
+ "Abfahrt (\\d{1,2}:\\d{2}),\r\n" // time + "Abfahrt (\\d{1,2}:\\d{2}),\r\n" // time
+ "(\\d{2}/\\d{2}/\\d{2})" // date + "(\\d{2}/\\d{2}/\\d{2})" // date
@ -119,8 +124,8 @@ public class SncbProvider extends AbstractHafasProvider
if (mHeadFine.matches()) if (mHeadFine.matches())
{ {
final String location = ParserUtils.resolveEntities(mHeadFine.group(1)); final String location = ParserUtils.resolveEntities(mHeadFine.group(1));
final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDateSlash(mHeadFine.group(3)), ParserUtils.parseTime(mHeadFine final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDateSlash(mHeadFine.group(3)),
.group(2))); ParserUtils.parseTime(mHeadFine.group(2)));
final List<Departure> departures = new ArrayList<Departure>(8); final List<Departure> departures = new ArrayList<Departure>(8);
final Matcher mDepCoarse = P_DEPARTURES_COARSE.matcher(mHeadCoarse.group(2)); final Matcher mDepCoarse = P_DEPARTURES_COARSE.matcher(mHeadCoarse.group(2));

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class StvProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://fahrplan.verbundlinie.at/stv/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class SvvProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://efa.svv-info.at/svv/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -34,9 +34,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class TflProvider extends AbstractEfaProvider 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/"; private static final String API_BASE = "http://journeyplanner.tfl.gov.uk/user/";
public NetworkId id()
{
return NETWORK_ID;
}
@Override @Override
protected TimeZone timeZone() protected TimeZone timeZone()
{ {

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class TleaProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://www.travelineeastanglia.org.uk/ea/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class TlemProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://www.travelineeastmidlands.co.uk/em/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class TlseProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://www.travelinesoutheast.org.uk/se/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -42,7 +42,7 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class VgsProvider extends AbstractHafasProvider 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 String API_BASE = "http://www.vgs-online.de/cgi-bin/";
private static final long PARSER_DAY_ROLLOVER_THRESHOLD_MS = 12 * 60 * 60 * 1000; 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); super(null, null);
} }
public NetworkId id()
{
return NetworkId.VGS;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability 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 private static final Pattern P_DEPARTURES_HEAD_COARSE = Pattern
.compile( .compile(
".*?" // ".*?" //
+ "(?:" // + "(?:" //
+ "<table class=\"hafasResult\"[^>]*>(.+?)</table>.*?" // + "<table class=\"hafasResult\"[^>]*>(.+?)</table>.*?" //
+ "(?:<table cellspacing=\"0\" class=\"hafasResult\"[^>]*>(.+?)</table>|(verkehren an dieser Haltestelle keine))"// + "(?:<table cellspacing=\"0\" class=\"hafasResult\"[^>]*>(.+?)</table>|(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))" // + "|(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()) if (mHeadFine.matches())
{ {
final String location = ParserUtils.resolveEntities(mHeadFine.group(1)); final String location = ParserUtils.resolveEntities(mHeadFine.group(1));
final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDate(mHeadFine.group(2)), ParserUtils final Date currentTime = ParserUtils.joinDateTime(ParserUtils.parseDate(mHeadFine.group(2)),
.parseTime(mHeadFine.group(3))); ParserUtils.parseTime(mHeadFine.group(3)));
final List<Departure> departures = new ArrayList<Departure>(8); final List<Departure> departures = new ArrayList<Departure>(8);
String oldZebra = null; String oldZebra = null;

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class VmsProvider extends AbstractEfaProvider 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/"; private static final String API_BASE = "http://www.vms-aktuell.de/vms/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -29,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class VmvProvider extends AbstractEfaProvider 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/"; private static final String API_BASE = "http://80.146.180.107/delfi/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class VorProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://efa.vor.at/wvb/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class VrnProvider extends AbstractEfaProvider 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/"; private static final String API_BASE = "http://fahrplanauskunft.vrn.de/vrn_mobile/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -28,10 +28,16 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class VrrProvider extends AbstractEfaProvider 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://efa3.vrr.de/vrr_mobile/";
private static final String API_BASE = "http://efa.vrr.de/standard/"; private static final String API_BASE = "http://efa.vrr.de/standard/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -28,9 +28,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class VvoProvider extends AbstractEfaProvider 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/"; private final static String API_BASE = "http://efa.vvo-online.de:8080/dvb/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(Capability... capabilities) public boolean hasCapabilities(Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)

View file

@ -29,9 +29,15 @@ import de.schildbach.pte.util.ParserUtils;
*/ */
public class VvsProvider extends AbstractEfaProvider 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/"; private static final String API_BASE = "http://mobil.vvs.de/mobile/";
public NetworkId id()
{
return NETWORK_ID;
}
public boolean hasCapabilities(final Capability... capabilities) public boolean hasCapabilities(final Capability... capabilities)
{ {
for (final Capability capability : capabilities) for (final Capability capability : capabilities)