new interface method to determine typical products of a network

This commit is contained in:
Andreas Schildbach 2013-03-15 10:52:00 +01:00
parent 29f719db5a
commit 4a65796401
16 changed files with 124 additions and 0 deletions

View file

@ -18,8 +18,12 @@
package de.schildbach.pte;
import java.nio.charset.Charset;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import de.schildbach.pte.dto.Point;
import de.schildbach.pte.dto.Product;
import de.schildbach.pte.dto.Style;
/**
@ -29,6 +33,18 @@ public abstract class AbstractNetworkProvider implements NetworkProvider
{
protected static final Charset UTF_8 = Charset.forName("UTF-8");
protected static final Charset ISO_8859_1 = Charset.forName("ISO-8859-1");
protected static final Set<Product> ALL_EXCEPT_HIGHSPEED;
static
{
ALL_EXCEPT_HIGHSPEED = new HashSet<Product>(Product.ALL);
ALL_EXCEPT_HIGHSPEED.remove(Product.HIGH_SPEED_TRAIN);
}
public Collection<Product> defaultProducts()
{
return ALL_EXCEPT_HIGHSPEED;
}
public Style lineStyle(final String line)
{

View file

@ -213,6 +213,12 @@ public final class BahnProvider extends AbstractHafasProvider
return jsonGetStops(uri);
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
@Override
protected void appendCustomConnectionsQueryBinaryUri(final StringBuilder uri)
{

View file

@ -18,6 +18,7 @@
package de.schildbach.pte;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
@ -164,6 +165,12 @@ public class DsbProvider extends AbstractHafasProvider
return xmlLocationList(uri);
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
@Override
protected char normalizeType(final String type)
{

View file

@ -108,6 +108,13 @@ public interface NetworkProvider
*/
List<Location> autocompleteStations(CharSequence constraint) throws IOException;
/**
* Typical products for a network
*
* @return products
*/
Collection<Product> defaultProducts();
/**
* Query connections, asking for any ambiguousnesses
*

View file

@ -18,6 +18,7 @@
package de.schildbach.pte;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
@ -188,6 +189,12 @@ public class NriProvider extends AbstractHafasProvider
return jsonGetStops(uri);
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
@Override
protected char normalizeType(final String type)
{

View file

@ -143,6 +143,12 @@ public class NsProvider extends AbstractHafasProvider
return jsonGetStops(uri);
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
@Override
protected void appendCustomConnectionsQueryBinaryUri(final StringBuilder uri)
{

View file

@ -200,6 +200,12 @@ public class OebbProvider extends AbstractHafasProvider
return jsonGetStops(uri);
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
@Override
protected void appendCustomConnectionsQueryBinaryUri(final StringBuilder uri)
{

View file

@ -18,6 +18,7 @@
package de.schildbach.pte;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import de.schildbach.pte.dto.Location;
@ -195,6 +196,12 @@ public class PlProvider extends AbstractHafasProvider
return xmlMLcReq(constraint);
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
@Override
protected char normalizeType(final String type)
{

View file

@ -18,6 +18,7 @@
package de.schildbach.pte;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
@ -158,6 +159,12 @@ public class RtProvider extends AbstractHafasProvider
return jsonGetStops(uri);
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
@Override
protected char normalizeType(final String type)
{

View file

@ -18,6 +18,7 @@
package de.schildbach.pte;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
@ -153,6 +154,12 @@ public class SbbProvider extends AbstractHafasProvider
return jsonGetStops(uri);
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
@Override
protected char normalizeType(final String type)
{

View file

@ -18,6 +18,7 @@
package de.schildbach.pte;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
import java.util.regex.Matcher;
@ -201,6 +202,12 @@ public class SeProvider extends AbstractHafasProvider
return jsonGetStops(uri);
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
private static final Pattern P_NORMALIZE_LINE_BUS = Pattern.compile("Buss\\s*(.*)");
private static final Pattern P_NORMALIZE_LINE_SUBWAY = Pattern.compile("Tunnelbana\\s*(.*)");

View file

@ -18,6 +18,7 @@
package de.schildbach.pte;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
@ -143,6 +144,12 @@ public class SncbProvider extends AbstractHafasProvider
return jsonGetStops(uri);
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
@Override
protected char normalizeType(final String type)
{

View file

@ -17,8 +17,11 @@
package de.schildbach.pte;
import java.util.Collection;
import java.util.TimeZone;
import de.schildbach.pte.dto.Product;
/**
* @author Andreas Schildbach
*/
@ -51,4 +54,10 @@ public class TfiProvider extends AbstractEfaProvider
return false;
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
}

View file

@ -18,11 +18,13 @@
package de.schildbach.pte;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.TimeZone;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.dto.Product;
/**
* @author Andreas Schildbach
@ -64,4 +66,10 @@ public class TlemProvider extends AbstractEfaProvider
{
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
}

View file

@ -18,11 +18,13 @@
package de.schildbach.pte;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.TimeZone;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.LocationType;
import de.schildbach.pte.dto.Product;
/**
* @author Andreas Schildbach
@ -64,4 +66,10 @@ public class TlswProvider extends AbstractEfaProvider
{
return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString()));
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
}

View file

@ -17,8 +17,11 @@
package de.schildbach.pte;
import java.util.Collection;
import java.util.TimeZone;
import de.schildbach.pte.dto.Product;
/**
* @author Andreas Schildbach
*/
@ -52,4 +55,10 @@ public class TlwmProvider extends AbstractEfaProvider
return false;
}
@Override
public Collection<Product> defaultProducts()
{
return Product.ALL;
}
}