mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-19 08:49:58 +00:00
new interface method to determine typical products of a network
This commit is contained in:
parent
29f719db5a
commit
4a65796401
16 changed files with 124 additions and 0 deletions
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
||||||
*
|
*
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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*(.*)");
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue