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; package de.schildbach.pte;
import java.nio.charset.Charset; 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.Point;
import de.schildbach.pte.dto.Product;
import de.schildbach.pte.dto.Style; 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 UTF_8 = Charset.forName("UTF-8");
protected static final Charset ISO_8859_1 = Charset.forName("ISO-8859-1"); 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) public Style lineStyle(final String line)
{ {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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