diff --git a/enabler/src/de/schildbach/pte/AbstractNetworkProvider.java b/enabler/src/de/schildbach/pte/AbstractNetworkProvider.java index 9493d41a..4bdeacd9 100644 --- a/enabler/src/de/schildbach/pte/AbstractNetworkProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractNetworkProvider.java @@ -20,6 +20,7 @@ package de.schildbach.pte; import java.nio.charset.Charset; import java.util.Collection; import java.util.HashSet; +import java.util.Map; import java.util.Set; import de.schildbach.pte.dto.Point; @@ -35,6 +36,8 @@ public abstract class AbstractNetworkProvider implements NetworkProvider protected static final Charset ISO_8859_1 = Charset.forName("ISO-8859-1"); protected static final Set ALL_EXCEPT_HIGHSPEED; + private Map styles = null; + static { ALL_EXCEPT_HIGHSPEED = new HashSet(Product.ALL); @@ -46,11 +49,39 @@ public abstract class AbstractNetworkProvider implements NetworkProvider return ALL_EXCEPT_HIGHSPEED; } + protected void setStyles(final Map styles) + { + this.styles = styles; + } + public Style lineStyle(final String line) { - if (line.length() == 0) + if (line == null || line.length() == 0) return null; - return StandardColors.LINES.get(line.charAt(0)); + + if (styles != null) + { + // check for line match + final Style lineStyle = styles.get(line); + if (lineStyle != null) + return lineStyle; + + // check for product match + final Style productStyle = styles.get(new Character(line.charAt(0)).toString()); + if (productStyle != null) + return productStyle; + + // check for night bus, as that's a common special case + if (line.startsWith("BN")) + { + final Style nightStyle = styles.get("BN"); + if (nightStyle != null) + return nightStyle; + } + } + + // standard colors + return Standard.STYLES.get(line.charAt(0)); } public Point[] getArea() diff --git a/enabler/src/de/schildbach/pte/AvvProvider.java b/enabler/src/de/schildbach/pte/AvvProvider.java index 41e64858..e4bad330 100644 --- a/enabler/src/de/schildbach/pte/AvvProvider.java +++ b/enabler/src/de/schildbach/pte/AvvProvider.java @@ -35,6 +35,7 @@ public class AvvProvider extends AbstractEfaProvider super(API_BASE); setUseRouteIndexAsTripId(false); + setStyles(STYLES); } public NetworkId id() @@ -51,68 +52,55 @@ public class AvvProvider extends AbstractEfaProvider return false; } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { - LINES.put("BB1", new Style(Style.Shape.CIRCLE, Style.parseColor("#93117e"), Style.WHITE)); - LINES.put("BB3", new Style(Style.Shape.CIRCLE, Style.parseColor("#ee7f00"), Style.WHITE)); - LINES.put("B21", new Style(Style.Shape.CIRCLE, Style.parseColor("#00896b"), Style.WHITE)); - LINES.put("B22", new Style(Style.Shape.CIRCLE, Style.parseColor("#eb6b59"), Style.WHITE)); - LINES.put("B23", new Style(Style.Shape.CIRCLE, Style.parseColor("#97bf0d"), Style.parseColor("#d10019"))); - LINES.put("B27", new Style(Style.Shape.CIRCLE, Style.parseColor("#74b57e"), Style.WHITE)); - LINES.put("B29", new Style(Style.Shape.CIRCLE, Style.parseColor("#5f689f"), Style.WHITE)); - LINES.put("B30", new Style(Style.Shape.CIRCLE, Style.parseColor("#829ac3"), Style.WHITE)); - LINES.put("B31", new Style(Style.Shape.CIRCLE, Style.parseColor("#a3cdb0"), Style.parseColor("#006835"))); - LINES.put("B32", new Style(Style.Shape.CIRCLE, Style.parseColor("#45a477"), Style.WHITE)); - LINES.put("B33", new Style(Style.Shape.CIRCLE, Style.parseColor("#a0ca82"), Style.WHITE)); - LINES.put("B35", new Style(Style.Shape.CIRCLE, Style.parseColor("#0085c5"), Style.WHITE)); - LINES.put("B36", new Style(Style.Shape.CIRCLE, Style.parseColor("#b1c2e1"), Style.parseColor("#006ab3"))); - LINES.put("B37", new Style(Style.Shape.CIRCLE, Style.parseColor("#eac26b"), Style.BLACK)); - LINES.put("B38", new Style(Style.Shape.CIRCLE, Style.parseColor("#c3655a"), Style.WHITE)); - LINES.put("B41", new Style(Style.Shape.CIRCLE, Style.parseColor("#d26110"), Style.WHITE)); - LINES.put("B42", new Style(Style.Shape.CIRCLE, Style.parseColor("#d57642"), Style.WHITE)); - LINES.put("B43", new Style(Style.Shape.CIRCLE, Style.parseColor("#e29241"), Style.WHITE)); - LINES.put("B44", new Style(Style.Shape.CIRCLE, Style.parseColor("#d0aacc"), Style.parseColor("#6d1f80"))); - LINES.put("B45", new Style(Style.Shape.CIRCLE, Style.parseColor("#a76da7"), Style.WHITE)); - LINES.put("B46", new Style(Style.Shape.CIRCLE, Style.parseColor("#52bcc2"), Style.WHITE)); - LINES.put("B48", new Style(Style.Shape.CIRCLE, Style.parseColor("#a6d7d2"), Style.parseColor("#079098"))); - LINES.put("B51", new Style(Style.Shape.CIRCLE, Style.parseColor("#ee7f00"), Style.WHITE)); - LINES.put("B52", new Style(Style.Shape.CIRCLE, Style.parseColor("#ee7f00"), Style.WHITE)); - LINES.put("B54", new Style(Style.Shape.CIRCLE, Style.parseColor("#ee7f00"), Style.WHITE)); - LINES.put("B56", new Style(Style.Shape.CIRCLE, Style.parseColor("#a86853"), Style.WHITE)); - LINES.put("B57", new Style(Style.Shape.CIRCLE, Style.parseColor("#a76da7"), Style.WHITE)); - LINES.put("B58", new Style(Style.Shape.CIRCLE, Style.parseColor("#d0aacc"), Style.parseColor("#6d1f80"))); - LINES.put("B59", new Style(Style.Shape.CIRCLE, Style.parseColor("#b1c2e1"), Style.parseColor("#00519e"))); - LINES.put("B70", new Style(Style.Shape.CIRCLE, Style.parseColor("#a99990"), Style.WHITE)); - LINES.put("B71", new Style(Style.Shape.CIRCLE, Style.parseColor("#a99990"), Style.WHITE)); - LINES.put("B72", new Style(Style.Shape.CIRCLE, Style.parseColor("#a99990"), Style.WHITE)); - LINES.put("B76", new Style(Style.Shape.CIRCLE, Style.parseColor("#c3655a"), Style.WHITE)); + STYLES.put("B", new Style(Style.Shape.CIRCLE, Style.parseColor("#abb1b1"), Style.BLACK)); + STYLES.put("BB1", new Style(Style.Shape.CIRCLE, Style.parseColor("#93117e"), Style.WHITE)); + STYLES.put("BB3", new Style(Style.Shape.CIRCLE, Style.parseColor("#ee7f00"), Style.WHITE)); + STYLES.put("B21", new Style(Style.Shape.CIRCLE, Style.parseColor("#00896b"), Style.WHITE)); + STYLES.put("B22", new Style(Style.Shape.CIRCLE, Style.parseColor("#eb6b59"), Style.WHITE)); + STYLES.put("B23", new Style(Style.Shape.CIRCLE, Style.parseColor("#97bf0d"), Style.parseColor("#d10019"))); + STYLES.put("B27", new Style(Style.Shape.CIRCLE, Style.parseColor("#74b57e"), Style.WHITE)); + STYLES.put("B29", new Style(Style.Shape.CIRCLE, Style.parseColor("#5f689f"), Style.WHITE)); + STYLES.put("B30", new Style(Style.Shape.CIRCLE, Style.parseColor("#829ac3"), Style.WHITE)); + STYLES.put("B31", new Style(Style.Shape.CIRCLE, Style.parseColor("#a3cdb0"), Style.parseColor("#006835"))); + STYLES.put("B32", new Style(Style.Shape.CIRCLE, Style.parseColor("#45a477"), Style.WHITE)); + STYLES.put("B33", new Style(Style.Shape.CIRCLE, Style.parseColor("#a0ca82"), Style.WHITE)); + STYLES.put("B35", new Style(Style.Shape.CIRCLE, Style.parseColor("#0085c5"), Style.WHITE)); + STYLES.put("B36", new Style(Style.Shape.CIRCLE, Style.parseColor("#b1c2e1"), Style.parseColor("#006ab3"))); + STYLES.put("B37", new Style(Style.Shape.CIRCLE, Style.parseColor("#eac26b"), Style.BLACK)); + STYLES.put("B38", new Style(Style.Shape.CIRCLE, Style.parseColor("#c3655a"), Style.WHITE)); + STYLES.put("B41", new Style(Style.Shape.CIRCLE, Style.parseColor("#d26110"), Style.WHITE)); + STYLES.put("B42", new Style(Style.Shape.CIRCLE, Style.parseColor("#d57642"), Style.WHITE)); + STYLES.put("B43", new Style(Style.Shape.CIRCLE, Style.parseColor("#e29241"), Style.WHITE)); + STYLES.put("B44", new Style(Style.Shape.CIRCLE, Style.parseColor("#d0aacc"), Style.parseColor("#6d1f80"))); + STYLES.put("B45", new Style(Style.Shape.CIRCLE, Style.parseColor("#a76da7"), Style.WHITE)); + STYLES.put("B46", new Style(Style.Shape.CIRCLE, Style.parseColor("#52bcc2"), Style.WHITE)); + STYLES.put("B48", new Style(Style.Shape.CIRCLE, Style.parseColor("#a6d7d2"), Style.parseColor("#079098"))); + STYLES.put("B51", new Style(Style.Shape.CIRCLE, Style.parseColor("#ee7f00"), Style.WHITE)); + STYLES.put("B52", new Style(Style.Shape.CIRCLE, Style.parseColor("#ee7f00"), Style.WHITE)); + STYLES.put("B54", new Style(Style.Shape.CIRCLE, Style.parseColor("#ee7f00"), Style.WHITE)); + STYLES.put("B56", new Style(Style.Shape.CIRCLE, Style.parseColor("#a86853"), Style.WHITE)); + STYLES.put("B57", new Style(Style.Shape.CIRCLE, Style.parseColor("#a76da7"), Style.WHITE)); + STYLES.put("B58", new Style(Style.Shape.CIRCLE, Style.parseColor("#d0aacc"), Style.parseColor("#6d1f80"))); + STYLES.put("B59", new Style(Style.Shape.CIRCLE, Style.parseColor("#b1c2e1"), Style.parseColor("#00519e"))); + STYLES.put("B70", new Style(Style.Shape.CIRCLE, Style.parseColor("#a99990"), Style.WHITE)); + STYLES.put("B71", new Style(Style.Shape.CIRCLE, Style.parseColor("#a99990"), Style.WHITE)); + STYLES.put("B72", new Style(Style.Shape.CIRCLE, Style.parseColor("#a99990"), Style.WHITE)); + STYLES.put("B76", new Style(Style.Shape.CIRCLE, Style.parseColor("#c3655a"), Style.WHITE)); - LINES.put("T2", new Style(Style.Shape.RECT, Style.parseColor("#006ab3"), Style.WHITE)); - LINES.put("T13", new Style(Style.Shape.RECT, Style.parseColor("#e2001a"), Style.WHITE)); - LINES.put("T64", new Style(Style.Shape.RECT, Style.parseColor("#97bf0d"), Style.WHITE)); + STYLES.put("T2", new Style(Style.Shape.RECT, Style.parseColor("#006ab3"), Style.WHITE)); + STYLES.put("T13", new Style(Style.Shape.RECT, Style.parseColor("#e2001a"), Style.WHITE)); + STYLES.put("T64", new Style(Style.Shape.RECT, Style.parseColor("#97bf0d"), Style.WHITE)); - LINES.put("RR1", new Style(Style.Shape.ROUNDED, Style.parseColor("#1bbbea"), Style.WHITE)); - LINES.put("RR2", new Style(Style.Shape.ROUNDED, Style.parseColor("#003a80"), Style.WHITE)); - LINES.put("RR4", new Style(Style.Shape.ROUNDED, Style.parseColor("#bd5619"), Style.WHITE)); - LINES.put("RR6", new Style(Style.Shape.ROUNDED, Style.parseColor("#0098a1"), Style.WHITE)); - LINES.put("RR7", new Style(Style.Shape.ROUNDED, Style.parseColor("#80191c"), Style.WHITE)); - LINES.put("RR8", new Style(Style.Shape.ROUNDED, Style.parseColor("#007d40"), Style.WHITE)); - LINES.put("RR11", new Style(Style.Shape.ROUNDED, Style.parseColor("#e6a300"), Style.WHITE)); - } - - private static final Style BUS_STYLE = new Style(Style.Shape.CIRCLE, Style.parseColor("#abb1b1"), Style.BLACK); - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else if (line.charAt(0) == 'B') - return BUS_STYLE; - else - return super.lineStyle(line); + STYLES.put("RR1", new Style(Style.Shape.ROUNDED, Style.parseColor("#1bbbea"), Style.WHITE)); + STYLES.put("RR2", new Style(Style.Shape.ROUNDED, Style.parseColor("#003a80"), Style.WHITE)); + STYLES.put("RR4", new Style(Style.Shape.ROUNDED, Style.parseColor("#bd5619"), Style.WHITE)); + STYLES.put("RR6", new Style(Style.Shape.ROUNDED, Style.parseColor("#0098a1"), Style.WHITE)); + STYLES.put("RR7", new Style(Style.Shape.ROUNDED, Style.parseColor("#80191c"), Style.WHITE)); + STYLES.put("RR8", new Style(Style.Shape.ROUNDED, Style.parseColor("#007d40"), Style.WHITE)); + STYLES.put("RR11", new Style(Style.Shape.ROUNDED, Style.parseColor("#e6a300"), Style.WHITE)); } } diff --git a/enabler/src/de/schildbach/pte/BsvagProvider.java b/enabler/src/de/schildbach/pte/BsvagProvider.java index bf15dfcb..cc95b7c1 100644 --- a/enabler/src/de/schildbach/pte/BsvagProvider.java +++ b/enabler/src/de/schildbach/pte/BsvagProvider.java @@ -37,6 +37,8 @@ public class BsvagProvider extends AbstractEfaProvider public BsvagProvider() { super(API_BASE); + + setStyles(STYLES); } public NetworkId id() @@ -59,83 +61,73 @@ public class BsvagProvider extends AbstractEfaProvider return xmlStopfinderRequest(new Location(LocationType.STATION, 0, null, constraint.toString())); } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { // Braunschweig - LINES.put("TM1", new Style(Style.parseColor("#62c2a2"), Style.WHITE)); - LINES.put("TM2", new Style(Style.parseColor("#b35e89"), Style.WHITE)); - LINES.put("TM3", new Style(Style.parseColor("#f9b5b9"), Style.WHITE)); - LINES.put("TM4", new Style(Style.parseColor("#811114"), Style.WHITE)); - LINES.put("TM5", new Style(Style.parseColor("#ffd00b"), Style.WHITE)); + STYLES.put("TM1", new Style(Style.parseColor("#62c2a2"), Style.WHITE)); + STYLES.put("TM2", new Style(Style.parseColor("#b35e89"), Style.WHITE)); + STYLES.put("TM3", new Style(Style.parseColor("#f9b5b9"), Style.WHITE)); + STYLES.put("TM4", new Style(Style.parseColor("#811114"), Style.WHITE)); + STYLES.put("TM5", new Style(Style.parseColor("#ffd00b"), Style.WHITE)); - LINES.put("BM11", new Style(Style.parseColor("#88891e"), Style.WHITE)); - LINES.put("BM13", new Style(Style.parseColor("#24a06d"), Style.WHITE)); - LINES.put("BM16", new Style(Style.parseColor("#f8991b"), Style.WHITE)); - LINES.put("BM19", new Style(Style.parseColor("#2c2768"), Style.WHITE)); - LINES.put("BM29", new Style(Style.parseColor("#2c2768"), Style.WHITE)); + STYLES.put("BM11", new Style(Style.parseColor("#88891e"), Style.WHITE)); + STYLES.put("BM13", new Style(Style.parseColor("#24a06d"), Style.WHITE)); + STYLES.put("BM16", new Style(Style.parseColor("#f8991b"), Style.WHITE)); + STYLES.put("BM19", new Style(Style.parseColor("#2c2768"), Style.WHITE)); + STYLES.put("BM29", new Style(Style.parseColor("#2c2768"), Style.WHITE)); - LINES.put("B412", new Style(Style.parseColor("#094f34"), Style.WHITE)); - LINES.put("B414", new Style(Style.parseColor("#00bce4"), Style.WHITE)); - LINES.put("B415", new Style(Style.parseColor("#b82837"), Style.WHITE)); - LINES.put("B417", new Style(Style.parseColor("#2a2768"), Style.WHITE)); - LINES.put("B418", new Style(Style.parseColor("#c12056"), Style.WHITE)); - LINES.put("B420", new Style(Style.parseColor("#b7d55b"), Style.WHITE)); - LINES.put("B422", new Style(Style.parseColor("#16bce4"), Style.WHITE)); - LINES.put("B424", new Style(Style.parseColor("#ffdf65"), Style.WHITE)); - LINES.put("B427", new Style(Style.parseColor("#b5d55b"), Style.WHITE)); - LINES.put("B431", new Style(Style.parseColor("#fddb62"), Style.WHITE)); - LINES.put("B433", new Style(Style.parseColor("#ed0e65"), Style.WHITE)); - LINES.put("B434", new Style(Style.parseColor("#bf2555"), Style.WHITE)); - LINES.put("B436", new Style(Style.parseColor("#0080a2"), Style.WHITE)); - LINES.put("B437", new Style(Style.parseColor("#fdd11a"), Style.WHITE)); - LINES.put("B442", new Style(Style.parseColor("#cc3f68"), Style.WHITE)); - LINES.put("B443", new Style(Style.parseColor("#405a80"), Style.WHITE)); - LINES.put("B445", new Style(Style.parseColor("#3ca14a"), Style.WHITE)); - LINES.put("B450", new Style(Style.parseColor("#f2635a"), Style.WHITE)); - LINES.put("B451", new Style(Style.parseColor("#f5791e"), Style.WHITE)); - LINES.put("B452", new Style(Style.parseColor("#f0a3ca"), Style.WHITE)); - LINES.put("B455", new Style(Style.parseColor("#395f95"), Style.WHITE)); - LINES.put("B461", new Style(Style.parseColor("#00b8a0"), Style.WHITE)); - LINES.put("B464", new Style(Style.parseColor("#00a14b"), Style.WHITE)); - LINES.put("B465", new Style(Style.parseColor("#77234b"), Style.WHITE)); - LINES.put("B471", new Style(Style.parseColor("#380559"), Style.WHITE)); - LINES.put("B480", new Style(Style.parseColor("#2c2768"), Style.WHITE)); - LINES.put("B481", new Style(Style.parseColor("#007ec1"), Style.WHITE)); - LINES.put("B484", new Style(Style.parseColor("#dc8998"), Style.WHITE)); - LINES.put("B485", new Style(Style.parseColor("#ea8d52"), Style.WHITE)); - LINES.put("B493", new Style(Style.parseColor("#f24825"), Style.WHITE)); - LINES.put("B560", new Style(Style.parseColor("#9f6fb0"), Style.WHITE)); + STYLES.put("B412", new Style(Style.parseColor("#094f34"), Style.WHITE)); + STYLES.put("B414", new Style(Style.parseColor("#00bce4"), Style.WHITE)); + STYLES.put("B415", new Style(Style.parseColor("#b82837"), Style.WHITE)); + STYLES.put("B417", new Style(Style.parseColor("#2a2768"), Style.WHITE)); + STYLES.put("B418", new Style(Style.parseColor("#c12056"), Style.WHITE)); + STYLES.put("B420", new Style(Style.parseColor("#b7d55b"), Style.WHITE)); + STYLES.put("B422", new Style(Style.parseColor("#16bce4"), Style.WHITE)); + STYLES.put("B424", new Style(Style.parseColor("#ffdf65"), Style.WHITE)); + STYLES.put("B427", new Style(Style.parseColor("#b5d55b"), Style.WHITE)); + STYLES.put("B431", new Style(Style.parseColor("#fddb62"), Style.WHITE)); + STYLES.put("B433", new Style(Style.parseColor("#ed0e65"), Style.WHITE)); + STYLES.put("B434", new Style(Style.parseColor("#bf2555"), Style.WHITE)); + STYLES.put("B436", new Style(Style.parseColor("#0080a2"), Style.WHITE)); + STYLES.put("B437", new Style(Style.parseColor("#fdd11a"), Style.WHITE)); + STYLES.put("B442", new Style(Style.parseColor("#cc3f68"), Style.WHITE)); + STYLES.put("B443", new Style(Style.parseColor("#405a80"), Style.WHITE)); + STYLES.put("B445", new Style(Style.parseColor("#3ca14a"), Style.WHITE)); + STYLES.put("B450", new Style(Style.parseColor("#f2635a"), Style.WHITE)); + STYLES.put("B451", new Style(Style.parseColor("#f5791e"), Style.WHITE)); + STYLES.put("B452", new Style(Style.parseColor("#f0a3ca"), Style.WHITE)); + STYLES.put("B455", new Style(Style.parseColor("#395f95"), Style.WHITE)); + STYLES.put("B461", new Style(Style.parseColor("#00b8a0"), Style.WHITE)); + STYLES.put("B464", new Style(Style.parseColor("#00a14b"), Style.WHITE)); + STYLES.put("B465", new Style(Style.parseColor("#77234b"), Style.WHITE)); + STYLES.put("B471", new Style(Style.parseColor("#380559"), Style.WHITE)); + STYLES.put("B480", new Style(Style.parseColor("#2c2768"), Style.WHITE)); + STYLES.put("B481", new Style(Style.parseColor("#007ec1"), Style.WHITE)); + STYLES.put("B484", new Style(Style.parseColor("#dc8998"), Style.WHITE)); + STYLES.put("B485", new Style(Style.parseColor("#ea8d52"), Style.WHITE)); + STYLES.put("B493", new Style(Style.parseColor("#f24825"), Style.WHITE)); + STYLES.put("B560", new Style(Style.parseColor("#9f6fb0"), Style.WHITE)); // Wolfsburg - LINES.put("B201", new Style(Style.parseColor("#f1471c"), Style.WHITE)); - LINES.put("B202", new Style(Style.parseColor("#127bca"), Style.WHITE)); - LINES.put("B203", new Style(Style.parseColor("#f35c95"), Style.WHITE)); - LINES.put("B204", new Style(Style.parseColor("#00a650"), Style.WHITE)); - LINES.put("B205", new Style(Style.parseColor("#f67c13"), Style.WHITE)); - LINES.put("B206", new Style(Style.WHITE, Style.parseColor("#00adef"), Style.parseColor("#00adef"))); - LINES.put("B207", new Style(Style.parseColor("#94d221"), Style.WHITE)); - LINES.put("B208", new Style(Style.parseColor("#00adef"), Style.WHITE)); - LINES.put("B209", new Style(Style.parseColor("#bf7f50"), Style.WHITE)); - LINES.put("B211", new Style(Style.parseColor("#be65ba"), Style.WHITE)); - LINES.put("B212", new Style(Style.parseColor("#be65ba"), Style.WHITE)); - LINES.put("B213", new Style(Style.parseColor("#918f90"), Style.WHITE)); - LINES.put("B218", new Style(Style.parseColor("#a950ae"), Style.WHITE)); - LINES.put("B219", new Style(Style.parseColor("#bf7f50"), Style.WHITE)); - LINES.put("B230", new Style(Style.parseColor("#ca93d0"), Style.WHITE)); - LINES.put("B231", new Style(Style.WHITE, Style.parseColor("#fab20a"), Style.parseColor("#fab20a"))); - LINES.put("B244", new Style(Style.parseColor("#66cef6"), Style.WHITE)); - LINES.put("B267", new Style(Style.parseColor("#918f90"), Style.WHITE)); - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); + STYLES.put("B201", new Style(Style.parseColor("#f1471c"), Style.WHITE)); + STYLES.put("B202", new Style(Style.parseColor("#127bca"), Style.WHITE)); + STYLES.put("B203", new Style(Style.parseColor("#f35c95"), Style.WHITE)); + STYLES.put("B204", new Style(Style.parseColor("#00a650"), Style.WHITE)); + STYLES.put("B205", new Style(Style.parseColor("#f67c13"), Style.WHITE)); + STYLES.put("B206", new Style(Style.WHITE, Style.parseColor("#00adef"), Style.parseColor("#00adef"))); + STYLES.put("B207", new Style(Style.parseColor("#94d221"), Style.WHITE)); + STYLES.put("B208", new Style(Style.parseColor("#00adef"), Style.WHITE)); + STYLES.put("B209", new Style(Style.parseColor("#bf7f50"), Style.WHITE)); + STYLES.put("B211", new Style(Style.parseColor("#be65ba"), Style.WHITE)); + STYLES.put("B212", new Style(Style.parseColor("#be65ba"), Style.WHITE)); + STYLES.put("B213", new Style(Style.parseColor("#918f90"), Style.WHITE)); + STYLES.put("B218", new Style(Style.parseColor("#a950ae"), Style.WHITE)); + STYLES.put("B219", new Style(Style.parseColor("#bf7f50"), Style.WHITE)); + STYLES.put("B230", new Style(Style.parseColor("#ca93d0"), Style.WHITE)); + STYLES.put("B231", new Style(Style.WHITE, Style.parseColor("#fab20a"), Style.parseColor("#fab20a"))); + STYLES.put("B244", new Style(Style.parseColor("#66cef6"), Style.WHITE)); + STYLES.put("B267", new Style(Style.parseColor("#918f90"), Style.WHITE)); } } diff --git a/enabler/src/de/schildbach/pte/BvgProvider.java b/enabler/src/de/schildbach/pte/BvgProvider.java index 691fbcee..fe0e2c53 100644 --- a/enabler/src/de/schildbach/pte/BvgProvider.java +++ b/enabler/src/de/schildbach/pte/BvgProvider.java @@ -66,6 +66,8 @@ public final class BvgProvider extends AbstractHafasProvider { super(API_BASE + "stboard.bin/dn", API_BASE + "ajax-getstop.bin/dny", API_BASE + "query.bin/dn", 8, null); + setStyles(STYLES); + this.additionalQueryParameter = additionalQueryParameter; } @@ -607,133 +609,118 @@ public final class BvgProvider extends AbstractHafasProvider return 0; } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { - LINES.put("SS1", new Style(Style.rgb(221, 77, 174), Style.WHITE)); - LINES.put("SS2", new Style(Style.rgb(16, 132, 73), Style.WHITE)); - LINES.put("SS25", new Style(Style.rgb(16, 132, 73), Style.WHITE)); - LINES.put("SS3", new Style(Style.rgb(22, 106, 184), Style.WHITE)); - LINES.put("SS41", new Style(Style.rgb(162, 63, 48), Style.WHITE)); - LINES.put("SS42", new Style(Style.rgb(191, 90, 42), Style.WHITE)); - LINES.put("SS45", new Style(Style.WHITE, Style.rgb(191, 128, 55))); - LINES.put("SS46", new Style(Style.rgb(191, 128, 55), Style.WHITE)); - LINES.put("SS47", new Style(Style.rgb(191, 128, 55), Style.WHITE)); - LINES.put("SS5", new Style(Style.rgb(243, 103, 23), Style.WHITE)); - LINES.put("SS7", new Style(Style.rgb(119, 96, 176), Style.WHITE)); - LINES.put("SS75", new Style(Style.rgb(119, 96, 176), Style.WHITE)); - LINES.put("SS8", new Style(Style.rgb(85, 184, 49), Style.WHITE)); - LINES.put("SS85", new Style(Style.WHITE, Style.rgb(85, 184, 49))); - LINES.put("SS9", new Style(Style.rgb(148, 36, 64), Style.WHITE)); + STYLES.put("SS1", new Style(Style.rgb(221, 77, 174), Style.WHITE)); + STYLES.put("SS2", new Style(Style.rgb(16, 132, 73), Style.WHITE)); + STYLES.put("SS25", new Style(Style.rgb(16, 132, 73), Style.WHITE)); + STYLES.put("SS3", new Style(Style.rgb(22, 106, 184), Style.WHITE)); + STYLES.put("SS41", new Style(Style.rgb(162, 63, 48), Style.WHITE)); + STYLES.put("SS42", new Style(Style.rgb(191, 90, 42), Style.WHITE)); + STYLES.put("SS45", new Style(Style.WHITE, Style.rgb(191, 128, 55))); + STYLES.put("SS46", new Style(Style.rgb(191, 128, 55), Style.WHITE)); + STYLES.put("SS47", new Style(Style.rgb(191, 128, 55), Style.WHITE)); + STYLES.put("SS5", new Style(Style.rgb(243, 103, 23), Style.WHITE)); + STYLES.put("SS7", new Style(Style.rgb(119, 96, 176), Style.WHITE)); + STYLES.put("SS75", new Style(Style.rgb(119, 96, 176), Style.WHITE)); + STYLES.put("SS8", new Style(Style.rgb(85, 184, 49), Style.WHITE)); + STYLES.put("SS85", new Style(Style.WHITE, Style.rgb(85, 184, 49))); + STYLES.put("SS9", new Style(Style.rgb(148, 36, 64), Style.WHITE)); - LINES.put("UU1", new Style(Shape.RECT, Style.rgb(84, 131, 47), Style.WHITE)); - LINES.put("UU2", new Style(Shape.RECT, Style.rgb(215, 25, 16), Style.WHITE)); - LINES.put("UU3", new Style(Shape.RECT, Style.rgb(47, 152, 154), Style.WHITE)); - LINES.put("UU4", new Style(Shape.RECT, Style.rgb(255, 233, 42), Style.BLACK)); - LINES.put("UU5", new Style(Shape.RECT, Style.rgb(91, 31, 16), Style.WHITE)); - LINES.put("UU55", new Style(Shape.RECT, Style.rgb(91, 31, 16), Style.WHITE)); - LINES.put("UU6", new Style(Shape.RECT, Style.rgb(127, 57, 115), Style.WHITE)); - LINES.put("UU7", new Style(Shape.RECT, Style.rgb(0, 153, 204), Style.WHITE)); - LINES.put("UU8", new Style(Shape.RECT, Style.rgb(24, 25, 83), Style.WHITE)); - LINES.put("UU9", new Style(Shape.RECT, Style.rgb(255, 90, 34), Style.WHITE)); + STYLES.put("UU1", new Style(Shape.RECT, Style.rgb(84, 131, 47), Style.WHITE)); + STYLES.put("UU2", new Style(Shape.RECT, Style.rgb(215, 25, 16), Style.WHITE)); + STYLES.put("UU3", new Style(Shape.RECT, Style.rgb(47, 152, 154), Style.WHITE)); + STYLES.put("UU4", new Style(Shape.RECT, Style.rgb(255, 233, 42), Style.BLACK)); + STYLES.put("UU5", new Style(Shape.RECT, Style.rgb(91, 31, 16), Style.WHITE)); + STYLES.put("UU55", new Style(Shape.RECT, Style.rgb(91, 31, 16), Style.WHITE)); + STYLES.put("UU6", new Style(Shape.RECT, Style.rgb(127, 57, 115), Style.WHITE)); + STYLES.put("UU7", new Style(Shape.RECT, Style.rgb(0, 153, 204), Style.WHITE)); + STYLES.put("UU8", new Style(Shape.RECT, Style.rgb(24, 25, 83), Style.WHITE)); + STYLES.put("UU9", new Style(Shape.RECT, Style.rgb(255, 90, 34), Style.WHITE)); - LINES.put("TM1", new Style(Shape.RECT, Style.parseColor("#eb8614"), Style.WHITE)); - LINES.put("TM2", new Style(Shape.RECT, Style.parseColor("#68c52f"), Style.WHITE)); - LINES.put("TM4", new Style(Shape.RECT, Style.parseColor("#cf1b22"), Style.WHITE)); - LINES.put("TM5", new Style(Shape.RECT, Style.parseColor("#bf8037"), Style.WHITE)); - LINES.put("TM6", new Style(Shape.RECT, Style.parseColor("#1e5ca2"), Style.WHITE)); - LINES.put("TM8", new Style(Shape.RECT, Style.parseColor("#f46717"), Style.WHITE)); - LINES.put("TM10", new Style(Shape.RECT, Style.parseColor("#108449"), Style.WHITE)); - LINES.put("TM13", new Style(Shape.RECT, Style.parseColor("#36ab94"), Style.WHITE)); - LINES.put("TM17", new Style(Shape.RECT, Style.parseColor("#a23f30"), Style.WHITE)); + STYLES.put("TM1", new Style(Shape.RECT, Style.parseColor("#eb8614"), Style.WHITE)); + STYLES.put("TM2", new Style(Shape.RECT, Style.parseColor("#68c52f"), Style.WHITE)); + STYLES.put("TM4", new Style(Shape.RECT, Style.parseColor("#cf1b22"), Style.WHITE)); + STYLES.put("TM5", new Style(Shape.RECT, Style.parseColor("#bf8037"), Style.WHITE)); + STYLES.put("TM6", new Style(Shape.RECT, Style.parseColor("#1e5ca2"), Style.WHITE)); + STYLES.put("TM8", new Style(Shape.RECT, Style.parseColor("#f46717"), Style.WHITE)); + STYLES.put("TM10", new Style(Shape.RECT, Style.parseColor("#108449"), Style.WHITE)); + STYLES.put("TM13", new Style(Shape.RECT, Style.parseColor("#36ab94"), Style.WHITE)); + STYLES.put("TM17", new Style(Shape.RECT, Style.parseColor("#a23f30"), Style.WHITE)); - LINES.put("T12", new Style(Shape.RECT, Style.parseColor("#7d64b2"), Style.WHITE)); - LINES.put("T16", new Style(Shape.RECT, Style.parseColor("#1e5ca2"), Style.WHITE)); - LINES.put("T18", new Style(Shape.RECT, Style.parseColor("#f46717"), Style.WHITE)); - LINES.put("T21", new Style(Shape.RECT, Style.parseColor("#7d64b2"), Style.WHITE)); - LINES.put("T27", new Style(Shape.RECT, Style.parseColor("#a23f30"), Style.WHITE)); - LINES.put("T37", new Style(Shape.RECT, Style.parseColor("#a23f30"), Style.WHITE)); - LINES.put("T50", new Style(Shape.RECT, Style.parseColor("#36ab94"), Style.WHITE)); - LINES.put("T60", new Style(Shape.RECT, Style.parseColor("#108449"), Style.WHITE)); - LINES.put("T61", new Style(Shape.RECT, Style.parseColor("#108449"), Style.WHITE)); - LINES.put("T62", new Style(Shape.RECT, Style.parseColor("#125030"), Style.WHITE)); - LINES.put("T63", new Style(Shape.RECT, Style.parseColor("#36ab94"), Style.WHITE)); - LINES.put("T67", new Style(Shape.RECT, Style.parseColor("#108449"), Style.WHITE)); - LINES.put("T68", new Style(Shape.RECT, Style.parseColor("#108449"), Style.WHITE)); + STYLES.put("T12", new Style(Shape.RECT, Style.parseColor("#7d64b2"), Style.WHITE)); + STYLES.put("T16", new Style(Shape.RECT, Style.parseColor("#1e5ca2"), Style.WHITE)); + STYLES.put("T18", new Style(Shape.RECT, Style.parseColor("#f46717"), Style.WHITE)); + STYLES.put("T21", new Style(Shape.RECT, Style.parseColor("#7d64b2"), Style.WHITE)); + STYLES.put("T27", new Style(Shape.RECT, Style.parseColor("#a23f30"), Style.WHITE)); + STYLES.put("T37", new Style(Shape.RECT, Style.parseColor("#a23f30"), Style.WHITE)); + STYLES.put("T50", new Style(Shape.RECT, Style.parseColor("#36ab94"), Style.WHITE)); + STYLES.put("T60", new Style(Shape.RECT, Style.parseColor("#108449"), Style.WHITE)); + STYLES.put("T61", new Style(Shape.RECT, Style.parseColor("#108449"), Style.WHITE)); + STYLES.put("T62", new Style(Shape.RECT, Style.parseColor("#125030"), Style.WHITE)); + STYLES.put("T63", new Style(Shape.RECT, Style.parseColor("#36ab94"), Style.WHITE)); + STYLES.put("T67", new Style(Shape.RECT, Style.parseColor("#108449"), Style.WHITE)); + STYLES.put("T68", new Style(Shape.RECT, Style.parseColor("#108449"), Style.WHITE)); - LINES.put("FF1", new Style(Style.BLUE, Style.WHITE)); // Potsdam - LINES.put("FF10", new Style(Style.BLUE, Style.WHITE)); - LINES.put("FF11", new Style(Style.BLUE, Style.WHITE)); - LINES.put("FF12", new Style(Style.BLUE, Style.WHITE)); - LINES.put("FF21", new Style(Style.BLUE, Style.WHITE)); - LINES.put("FF23", new Style(Style.BLUE, Style.WHITE)); - LINES.put("FF24", new Style(Style.BLUE, Style.WHITE)); + STYLES.put("B", new Style(Shape.RECT, Style.BLACK, Style.WHITE)); + STYLES.put("BN", new Style(Shape.RECT, Style.parseColor("#993399"), Style.WHITE)); + + STYLES.put("FF1", new Style(Style.BLUE, Style.WHITE)); // Potsdam + STYLES.put("FF10", new Style(Style.BLUE, Style.WHITE)); + STYLES.put("FF11", new Style(Style.BLUE, Style.WHITE)); + STYLES.put("FF12", new Style(Style.BLUE, Style.WHITE)); + STYLES.put("FF21", new Style(Style.BLUE, Style.WHITE)); + STYLES.put("FF23", new Style(Style.BLUE, Style.WHITE)); + STYLES.put("FF24", new Style(Style.BLUE, Style.WHITE)); // Regional lines Brandenburg: - LINES.put("RRE1", new Style(Shape.RECT, Style.parseColor("#EE1C23"), Style.WHITE)); - LINES.put("RRE2", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); - LINES.put("RRE3", new Style(Shape.RECT, Style.parseColor("#F57921"), Style.WHITE)); - LINES.put("RRE4", new Style(Shape.RECT, Style.parseColor("#952D4F"), Style.WHITE)); - LINES.put("RRE5", new Style(Shape.RECT, Style.parseColor("#0072BC"), Style.WHITE)); - LINES.put("RRE6", new Style(Shape.RECT, Style.parseColor("#DB6EAB"), Style.WHITE)); - LINES.put("RRE7", new Style(Shape.RECT, Style.parseColor("#00854A"), Style.WHITE)); - LINES.put("RRE10", new Style(Shape.RECT, Style.parseColor("#A7653F"), Style.WHITE)); - LINES.put("RRE11", new Style(Shape.RECT, Style.parseColor("#059EDB"), Style.WHITE)); - LINES.put("RRE11", new Style(Shape.RECT, Style.parseColor("#EE1C23"), Style.WHITE)); - LINES.put("RRE15", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); - LINES.put("RRE18", new Style(Shape.RECT, Style.parseColor("#00A65E"), Style.WHITE)); - LINES.put("RRB10", new Style(Shape.RECT, Style.parseColor("#60BB46"), Style.WHITE)); - LINES.put("RRB12", new Style(Shape.RECT, Style.parseColor("#A3238E"), Style.WHITE)); - LINES.put("RRB13", new Style(Shape.RECT, Style.parseColor("#F68B1F"), Style.WHITE)); - LINES.put("RRB13", new Style(Shape.RECT, Style.parseColor("#00A65E"), Style.WHITE)); - LINES.put("RRB14", new Style(Shape.RECT, Style.parseColor("#A3238E"), Style.WHITE)); - LINES.put("RRB20", new Style(Shape.RECT, Style.parseColor("#00854A"), Style.WHITE)); - LINES.put("RRB21", new Style(Shape.RECT, Style.parseColor("#5E6DB3"), Style.WHITE)); - LINES.put("RRB22", new Style(Shape.RECT, Style.parseColor("#0087CB"), Style.WHITE)); - LINES.put("ROE25", new Style(Shape.RECT, Style.parseColor("#0087CB"), Style.WHITE)); - LINES.put("RNE26", new Style(Shape.RECT, Style.parseColor("#00A896"), Style.WHITE)); - LINES.put("RNE27", new Style(Shape.RECT, Style.parseColor("#EE1C23"), Style.WHITE)); - LINES.put("RRB30", new Style(Shape.RECT, Style.parseColor("#00A65E"), Style.WHITE)); - LINES.put("RRB31", new Style(Shape.RECT, Style.parseColor("#60BB46"), Style.WHITE)); - LINES.put("RMR33", new Style(Shape.RECT, Style.parseColor("#EE1C23"), Style.WHITE)); - LINES.put("ROE35", new Style(Shape.RECT, Style.parseColor("#5E6DB3"), Style.WHITE)); - LINES.put("ROE36", new Style(Shape.RECT, Style.parseColor("#A7653F"), Style.WHITE)); - LINES.put("RRB43", new Style(Shape.RECT, Style.parseColor("#5E6DB3"), Style.WHITE)); - LINES.put("RRB45", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); - LINES.put("ROE46", new Style(Shape.RECT, Style.parseColor("#DB6EAB"), Style.WHITE)); - LINES.put("RMR51", new Style(Shape.RECT, Style.parseColor("#DB6EAB"), Style.WHITE)); - LINES.put("RRB51", new Style(Shape.RECT, Style.parseColor("#DB6EAB"), Style.WHITE)); - LINES.put("RRB54", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); - LINES.put("RRB55", new Style(Shape.RECT, Style.parseColor("#F57921"), Style.WHITE)); - LINES.put("ROE60", new Style(Shape.RECT, Style.parseColor("#60BB46"), Style.WHITE)); - LINES.put("ROE63", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); - LINES.put("ROE65", new Style(Shape.RECT, Style.parseColor("#0072BC"), Style.WHITE)); - LINES.put("RRB66", new Style(Shape.RECT, Style.parseColor("#60BB46"), Style.WHITE)); - LINES.put("RPE70", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); - LINES.put("RPE73", new Style(Shape.RECT, Style.parseColor("#00A896"), Style.WHITE)); - LINES.put("RPE74", new Style(Shape.RECT, Style.parseColor("#0072BC"), Style.WHITE)); - LINES.put("T89", new Style(Shape.RECT, Style.parseColor("#EE1C23"), Style.WHITE)); - LINES.put("RRB91", new Style(Shape.RECT, Style.parseColor("#A7653F"), Style.WHITE)); - LINES.put("RRB93", new Style(Shape.RECT, Style.parseColor("#A7653F"), Style.WHITE)); - } - - private static final Style STYLE_BUS_NIGHT = new Style(Shape.RECT, Style.BLACK, Style.WHITE); - private static final Style STYLE_BUS_DAY = new Style(Shape.RECT, Style.parseColor("#993399"), Style.WHITE); - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - - if (line.startsWith("BN")) - return STYLE_BUS_NIGHT; - if (line.startsWith("B")) - return STYLE_BUS_DAY; - - return super.lineStyle(line); + STYLES.put("RRE1", new Style(Shape.RECT, Style.parseColor("#EE1C23"), Style.WHITE)); + STYLES.put("RRE2", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); + STYLES.put("RRE3", new Style(Shape.RECT, Style.parseColor("#F57921"), Style.WHITE)); + STYLES.put("RRE4", new Style(Shape.RECT, Style.parseColor("#952D4F"), Style.WHITE)); + STYLES.put("RRE5", new Style(Shape.RECT, Style.parseColor("#0072BC"), Style.WHITE)); + STYLES.put("RRE6", new Style(Shape.RECT, Style.parseColor("#DB6EAB"), Style.WHITE)); + STYLES.put("RRE7", new Style(Shape.RECT, Style.parseColor("#00854A"), Style.WHITE)); + STYLES.put("RRE10", new Style(Shape.RECT, Style.parseColor("#A7653F"), Style.WHITE)); + STYLES.put("RRE11", new Style(Shape.RECT, Style.parseColor("#059EDB"), Style.WHITE)); + STYLES.put("RRE11", new Style(Shape.RECT, Style.parseColor("#EE1C23"), Style.WHITE)); + STYLES.put("RRE15", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); + STYLES.put("RRE18", new Style(Shape.RECT, Style.parseColor("#00A65E"), Style.WHITE)); + STYLES.put("RRB10", new Style(Shape.RECT, Style.parseColor("#60BB46"), Style.WHITE)); + STYLES.put("RRB12", new Style(Shape.RECT, Style.parseColor("#A3238E"), Style.WHITE)); + STYLES.put("RRB13", new Style(Shape.RECT, Style.parseColor("#F68B1F"), Style.WHITE)); + STYLES.put("RRB13", new Style(Shape.RECT, Style.parseColor("#00A65E"), Style.WHITE)); + STYLES.put("RRB14", new Style(Shape.RECT, Style.parseColor("#A3238E"), Style.WHITE)); + STYLES.put("RRB20", new Style(Shape.RECT, Style.parseColor("#00854A"), Style.WHITE)); + STYLES.put("RRB21", new Style(Shape.RECT, Style.parseColor("#5E6DB3"), Style.WHITE)); + STYLES.put("RRB22", new Style(Shape.RECT, Style.parseColor("#0087CB"), Style.WHITE)); + STYLES.put("ROE25", new Style(Shape.RECT, Style.parseColor("#0087CB"), Style.WHITE)); + STYLES.put("RNE26", new Style(Shape.RECT, Style.parseColor("#00A896"), Style.WHITE)); + STYLES.put("RNE27", new Style(Shape.RECT, Style.parseColor("#EE1C23"), Style.WHITE)); + STYLES.put("RRB30", new Style(Shape.RECT, Style.parseColor("#00A65E"), Style.WHITE)); + STYLES.put("RRB31", new Style(Shape.RECT, Style.parseColor("#60BB46"), Style.WHITE)); + STYLES.put("RMR33", new Style(Shape.RECT, Style.parseColor("#EE1C23"), Style.WHITE)); + STYLES.put("ROE35", new Style(Shape.RECT, Style.parseColor("#5E6DB3"), Style.WHITE)); + STYLES.put("ROE36", new Style(Shape.RECT, Style.parseColor("#A7653F"), Style.WHITE)); + STYLES.put("RRB43", new Style(Shape.RECT, Style.parseColor("#5E6DB3"), Style.WHITE)); + STYLES.put("RRB45", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); + STYLES.put("ROE46", new Style(Shape.RECT, Style.parseColor("#DB6EAB"), Style.WHITE)); + STYLES.put("RMR51", new Style(Shape.RECT, Style.parseColor("#DB6EAB"), Style.WHITE)); + STYLES.put("RRB51", new Style(Shape.RECT, Style.parseColor("#DB6EAB"), Style.WHITE)); + STYLES.put("RRB54", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); + STYLES.put("RRB55", new Style(Shape.RECT, Style.parseColor("#F57921"), Style.WHITE)); + STYLES.put("ROE60", new Style(Shape.RECT, Style.parseColor("#60BB46"), Style.WHITE)); + STYLES.put("ROE63", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); + STYLES.put("ROE65", new Style(Shape.RECT, Style.parseColor("#0072BC"), Style.WHITE)); + STYLES.put("RRB66", new Style(Shape.RECT, Style.parseColor("#60BB46"), Style.WHITE)); + STYLES.put("RPE70", new Style(Shape.RECT, Style.parseColor("#FFD403"), Style.BLACK)); + STYLES.put("RPE73", new Style(Shape.RECT, Style.parseColor("#00A896"), Style.WHITE)); + STYLES.put("RPE74", new Style(Shape.RECT, Style.parseColor("#0072BC"), Style.WHITE)); + STYLES.put("T89", new Style(Shape.RECT, Style.parseColor("#EE1C23"), Style.WHITE)); + STYLES.put("RRB91", new Style(Shape.RECT, Style.parseColor("#A7653F"), Style.WHITE)); + STYLES.put("RRB93", new Style(Shape.RECT, Style.parseColor("#A7653F"), Style.WHITE)); } @Override diff --git a/enabler/src/de/schildbach/pte/GvhProvider.java b/enabler/src/de/schildbach/pte/GvhProvider.java index 71fb4303..354ad511 100644 --- a/enabler/src/de/schildbach/pte/GvhProvider.java +++ b/enabler/src/de/schildbach/pte/GvhProvider.java @@ -35,6 +35,7 @@ public class GvhProvider extends AbstractEfaProvider super(API_BASE); setAdditionalQueryParameter(additionalQueryParameter); + setStyles(STYLES); } public NetworkId id() @@ -74,31 +75,21 @@ public class GvhProvider extends AbstractEfaProvider return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { // Hamburg - LINES.put("SS1", new Style(Style.parseColor("#00933B"), Style.WHITE)); - LINES.put("SS11", new Style(Style.WHITE, Style.parseColor("#00933B"), Style.parseColor("#00933B"))); - LINES.put("SS2", new Style(Style.WHITE, Style.parseColor("#9D271A"), Style.parseColor("#9D271A"))); - LINES.put("SS21", new Style(Style.parseColor("#9D271A"), Style.WHITE)); - LINES.put("SS3", new Style(Style.parseColor("#411273"), Style.WHITE)); - LINES.put("SS31", new Style(Style.parseColor("#411273"), Style.WHITE)); + STYLES.put("SS1", new Style(Style.parseColor("#00933B"), Style.WHITE)); + STYLES.put("SS11", new Style(Style.WHITE, Style.parseColor("#00933B"), Style.parseColor("#00933B"))); + STYLES.put("SS2", new Style(Style.WHITE, Style.parseColor("#9D271A"), Style.parseColor("#9D271A"))); + STYLES.put("SS21", new Style(Style.parseColor("#9D271A"), Style.WHITE)); + STYLES.put("SS3", new Style(Style.parseColor("#411273"), Style.WHITE)); + STYLES.put("SS31", new Style(Style.parseColor("#411273"), Style.WHITE)); - LINES.put("UU1", new Style(Style.parseColor("#044895"), Style.WHITE)); - LINES.put("UU2", new Style(Style.parseColor("#DC2B19"), Style.WHITE)); - LINES.put("UU3", new Style(Style.parseColor("#EE9D16"), Style.WHITE)); - LINES.put("UU4", new Style(Style.parseColor("#13A59D"), Style.WHITE)); - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); + STYLES.put("UU1", new Style(Style.parseColor("#044895"), Style.WHITE)); + STYLES.put("UU2", new Style(Style.parseColor("#DC2B19"), Style.WHITE)); + STYLES.put("UU3", new Style(Style.parseColor("#EE9D16"), Style.WHITE)); + STYLES.put("UU4", new Style(Style.parseColor("#13A59D"), Style.WHITE)); } } diff --git a/enabler/src/de/schildbach/pte/InvgProvider.java b/enabler/src/de/schildbach/pte/InvgProvider.java index 6d48f734..ab662d44 100644 --- a/enabler/src/de/schildbach/pte/InvgProvider.java +++ b/enabler/src/de/schildbach/pte/InvgProvider.java @@ -54,6 +54,8 @@ public class InvgProvider extends AbstractHafasProvider public InvgProvider() { super(API_BASE + "stboard.exe/dn", null, API_BASE + "extxml.exe", 10, null); + + setStyles(STYLES); } public NetworkId id() @@ -325,85 +327,75 @@ public class InvgProvider extends AbstractHafasProvider return 0; } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { - LINES.put("B10", new Style(Style.parseColor("#DA2510"), Style.WHITE)); - LINES.put("B11", new Style(Style.parseColor("#EE9B78"), Style.BLACK)); - LINES.put("B15", new Style(Style.parseColor("#84C326"), Style.BLACK)); - LINES.put("B16", new Style(Style.parseColor("#5D452E"), Style.WHITE)); - LINES.put("B17", new Style(Style.parseColor("#E81100"), Style.BLACK)); - LINES.put("B18", new Style(Style.parseColor("#79316C"), Style.WHITE)); - LINES.put("B20", new Style(Style.parseColor("#EA891C"), Style.BLACK)); - LINES.put("B21", new Style(Style.parseColor("#31B2EA"), Style.BLACK)); - LINES.put("B25", new Style(Style.parseColor("#7F65A0"), Style.WHITE)); - LINES.put("B26", new Style(Style.parseColor("#00BF73"), Style.WHITE)); // not present in Fahrplan 2012/2013 - LINES.put("B30", new Style(Style.parseColor("#901E78"), Style.WHITE)); - LINES.put("B31", new Style(Style.parseColor("#DCE722"), Style.BLACK)); - LINES.put("B40", new Style(Style.parseColor("#009240"), Style.WHITE)); - LINES.put("B41", new Style(Style.parseColor("#7BC5B1"), Style.BLACK)); - LINES.put("B44", new Style(Style.parseColor("#EA77A6"), Style.WHITE)); - LINES.put("B50", new Style(Style.parseColor("#FACF00"), Style.BLACK)); - LINES.put("B51", new Style(Style.parseColor("#C13C00"), Style.WHITE)); - LINES.put("B52", new Style(Style.parseColor("#94F0D4"), Style.BLACK)); - LINES.put("B53", new Style(Style.parseColor("#BEB405"), Style.BLACK)); - LINES.put("B55", new Style(Style.parseColor("#FFF500"), Style.BLACK)); - LINES.put("B60", new Style(Style.parseColor("#0072B7"), Style.WHITE)); - LINES.put("B61", new Style(Style.rgb(204, 184, 122), Style.BLACK)); // not present in Fahrplan 2012/2013 - LINES.put("B62", new Style(Style.rgb(204, 184, 122), Style.BLACK)); // not present in Fahrplan 2012/2013 - LINES.put("B65", new Style(Style.parseColor("#B7DDD2"), Style.BLACK)); - LINES.put("B70", new Style(Style.parseColor("#D49016"), Style.BLACK)); - LINES.put("B71", new Style(Style.parseColor("#996600"), Style.BLACK)); // not present in Fahrplan 2012/2013 - LINES.put("B85", new Style(Style.parseColor("#F6BAD3"), Style.BLACK)); - LINES.put("B111", new Style(Style.parseColor("#EE9B78"), Style.BLACK)); + STYLES.put("B10", new Style(Style.parseColor("#DA2510"), Style.WHITE)); + STYLES.put("B11", new Style(Style.parseColor("#EE9B78"), Style.BLACK)); + STYLES.put("B15", new Style(Style.parseColor("#84C326"), Style.BLACK)); + STYLES.put("B16", new Style(Style.parseColor("#5D452E"), Style.WHITE)); + STYLES.put("B17", new Style(Style.parseColor("#E81100"), Style.BLACK)); + STYLES.put("B18", new Style(Style.parseColor("#79316C"), Style.WHITE)); + STYLES.put("B20", new Style(Style.parseColor("#EA891C"), Style.BLACK)); + STYLES.put("B21", new Style(Style.parseColor("#31B2EA"), Style.BLACK)); + STYLES.put("B25", new Style(Style.parseColor("#7F65A0"), Style.WHITE)); + STYLES.put("B26", new Style(Style.parseColor("#00BF73"), Style.WHITE)); // not present in Fahrplan 2012/2013 + STYLES.put("B30", new Style(Style.parseColor("#901E78"), Style.WHITE)); + STYLES.put("B31", new Style(Style.parseColor("#DCE722"), Style.BLACK)); + STYLES.put("B40", new Style(Style.parseColor("#009240"), Style.WHITE)); + STYLES.put("B41", new Style(Style.parseColor("#7BC5B1"), Style.BLACK)); + STYLES.put("B44", new Style(Style.parseColor("#EA77A6"), Style.WHITE)); + STYLES.put("B50", new Style(Style.parseColor("#FACF00"), Style.BLACK)); + STYLES.put("B51", new Style(Style.parseColor("#C13C00"), Style.WHITE)); + STYLES.put("B52", new Style(Style.parseColor("#94F0D4"), Style.BLACK)); + STYLES.put("B53", new Style(Style.parseColor("#BEB405"), Style.BLACK)); + STYLES.put("B55", new Style(Style.parseColor("#FFF500"), Style.BLACK)); + STYLES.put("B60", new Style(Style.parseColor("#0072B7"), Style.WHITE)); + STYLES.put("B61", new Style(Style.rgb(204, 184, 122), Style.BLACK)); // not present in Fahrplan 2012/2013 + STYLES.put("B62", new Style(Style.rgb(204, 184, 122), Style.BLACK)); // not present in Fahrplan 2012/2013 + STYLES.put("B65", new Style(Style.parseColor("#B7DDD2"), Style.BLACK)); + STYLES.put("B70", new Style(Style.parseColor("#D49016"), Style.BLACK)); + STYLES.put("B71", new Style(Style.parseColor("#996600"), Style.BLACK)); // not present in Fahrplan 2012/2013 + STYLES.put("B85", new Style(Style.parseColor("#F6BAD3"), Style.BLACK)); + STYLES.put("B111", new Style(Style.parseColor("#EE9B78"), Style.BLACK)); - LINES.put("B9221", new Style(Style.rgb(217, 217, 255), Style.BLACK)); - LINES.put("B9226", new Style(Style.rgb(191, 255, 255), Style.BLACK)); + STYLES.put("B9221", new Style(Style.rgb(217, 217, 255), Style.BLACK)); + STYLES.put("B9226", new Style(Style.rgb(191, 255, 255), Style.BLACK)); - LINES.put("BN1", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN2", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN3", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN4", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN5", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN6", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN7", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN8", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN9", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN10", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN11", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN12", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN13", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN14", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN15", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN16", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN17", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN18", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BN19", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN1", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN2", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN3", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN4", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN5", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN6", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN7", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN8", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN9", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN10", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN11", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN12", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN13", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN14", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN15", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN16", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN17", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN18", new Style(Style.parseColor("#00116C"), Style.WHITE)); + STYLES.put("BN19", new Style(Style.parseColor("#00116C"), Style.WHITE)); - LINES.put("BS1", new Style(Style.rgb(178, 25, 0), Style.WHITE)); - LINES.put("BS2", new Style(Style.rgb(178, 25, 0), Style.WHITE)); - LINES.put("BS3", new Style(Style.rgb(178, 25, 0), Style.WHITE)); - LINES.put("BS4", new Style(Style.rgb(178, 25, 0), Style.WHITE)); - LINES.put("BS5", new Style(Style.rgb(178, 25, 0), Style.WHITE)); - LINES.put("BS6", new Style(Style.rgb(178, 25, 0), Style.WHITE)); - LINES.put("BS7", new Style(Style.rgb(178, 25, 0), Style.WHITE)); - LINES.put("BS8", new Style(Style.rgb(178, 25, 0), Style.WHITE)); - LINES.put("BS9", new Style(Style.rgb(178, 25, 0), Style.WHITE)); + STYLES.put("BS1", new Style(Style.rgb(178, 25, 0), Style.WHITE)); + STYLES.put("BS2", new Style(Style.rgb(178, 25, 0), Style.WHITE)); + STYLES.put("BS3", new Style(Style.rgb(178, 25, 0), Style.WHITE)); + STYLES.put("BS4", new Style(Style.rgb(178, 25, 0), Style.WHITE)); + STYLES.put("BS5", new Style(Style.rgb(178, 25, 0), Style.WHITE)); + STYLES.put("BS6", new Style(Style.rgb(178, 25, 0), Style.WHITE)); + STYLES.put("BS7", new Style(Style.rgb(178, 25, 0), Style.WHITE)); + STYLES.put("BS8", new Style(Style.rgb(178, 25, 0), Style.WHITE)); + STYLES.put("BS9", new Style(Style.rgb(178, 25, 0), Style.WHITE)); - LINES.put("BX11", new Style(Style.parseColor("#EE9B78"), Style.BLACK)); - LINES.put("BX12", new Style(Style.parseColor("#B11839"), Style.BLACK)); - LINES.put("BX80", new Style(Style.parseColor("#FFFF40"), Style.BLACK)); - LINES.put("BX109", new Style(Style.WHITE, Style.BLACK, Style.BLACK)); - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); + STYLES.put("BX11", new Style(Style.parseColor("#EE9B78"), Style.BLACK)); + STYLES.put("BX12", new Style(Style.parseColor("#B11839"), Style.BLACK)); + STYLES.put("BX80", new Style(Style.parseColor("#FFFF40"), Style.BLACK)); + STYLES.put("BX109", new Style(Style.WHITE, Style.BLACK, Style.BLACK)); } } diff --git a/enabler/src/de/schildbach/pte/KvvProvider.java b/enabler/src/de/schildbach/pte/KvvProvider.java index f5c74af4..833a0be1 100644 --- a/enabler/src/de/schildbach/pte/KvvProvider.java +++ b/enabler/src/de/schildbach/pte/KvvProvider.java @@ -41,6 +41,8 @@ public class KvvProvider extends AbstractEfaProvider public KvvProvider(final String apiBase) { super(apiBase); + + setStyles(STYLES); } public NetworkId id() @@ -71,44 +73,44 @@ public class KvvProvider extends AbstractEfaProvider // TODO check for " (Ersatzverkehr)" } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { // S-Bahn - LINES.put("SS1", new Style(Style.parseColor("#00a76d"), Style.WHITE)); - LINES.put("SS11", new Style(Style.parseColor("#00a76d"), Style.WHITE)); - LINES.put("SS2", new Style(Style.parseColor("#a066aa"), Style.WHITE)); - LINES.put("SS3", new Style(Style.parseColor("#00a99d"), Style.WHITE)); - LINES.put("SS31", new Style(Style.parseColor("#00a99d"), Style.WHITE)); - LINES.put("SS32", new Style(Style.parseColor("#00a99d"), Style.WHITE)); - LINES.put("SS33", new Style(Style.parseColor("#00a99d"), Style.WHITE)); - LINES.put("SS4", new Style(Style.parseColor("#9f184c"), Style.WHITE)); - LINES.put("SS41", new Style(Style.parseColor("#9f184c"), Style.WHITE)); - LINES.put("SS5", new Style(Style.parseColor("#f69795"), Style.BLACK)); - LINES.put("SS51", new Style(Style.parseColor("#f69795"), Style.BLACK)); - LINES.put("SS52", new Style(Style.parseColor("#f69795"), Style.BLACK)); - LINES.put("SS6", new Style(Style.parseColor("#282268"), Style.WHITE)); - LINES.put("SS7", new Style(Style.parseColor("#fff200"), Style.BLACK)); - LINES.put("SS9", new Style(Style.parseColor("#fab49b"), Style.BLACK)); + STYLES.put("SS1", new Style(Style.parseColor("#00a76d"), Style.WHITE)); + STYLES.put("SS11", new Style(Style.parseColor("#00a76d"), Style.WHITE)); + STYLES.put("SS2", new Style(Style.parseColor("#a066aa"), Style.WHITE)); + STYLES.put("SS3", new Style(Style.parseColor("#00a99d"), Style.WHITE)); + STYLES.put("SS31", new Style(Style.parseColor("#00a99d"), Style.WHITE)); + STYLES.put("SS32", new Style(Style.parseColor("#00a99d"), Style.WHITE)); + STYLES.put("SS33", new Style(Style.parseColor("#00a99d"), Style.WHITE)); + STYLES.put("SS4", new Style(Style.parseColor("#9f184c"), Style.WHITE)); + STYLES.put("SS41", new Style(Style.parseColor("#9f184c"), Style.WHITE)); + STYLES.put("SS5", new Style(Style.parseColor("#f69795"), Style.BLACK)); + STYLES.put("SS51", new Style(Style.parseColor("#f69795"), Style.BLACK)); + STYLES.put("SS52", new Style(Style.parseColor("#f69795"), Style.BLACK)); + STYLES.put("SS6", new Style(Style.parseColor("#282268"), Style.WHITE)); + STYLES.put("SS7", new Style(Style.parseColor("#fff200"), Style.BLACK)); + STYLES.put("SS9", new Style(Style.parseColor("#fab49b"), Style.BLACK)); // Tram - LINES.put("T1", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); - LINES.put("T1E", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); - LINES.put("T2", new Style(Shape.RECT, Style.parseColor("#0071bc"), Style.WHITE)); - LINES.put("T2E", new Style(Shape.RECT, Style.parseColor("#0071bc"), Style.WHITE)); - LINES.put("T3", new Style(Shape.RECT, Style.parseColor("#947139"), Style.WHITE)); - LINES.put("T3E", new Style(Shape.RECT, Style.parseColor("#947139"), Style.WHITE)); - LINES.put("T4", new Style(Shape.RECT, Style.parseColor("#ffcb04"), Style.BLACK)); - LINES.put("T4E", new Style(Shape.RECT, Style.parseColor("#ffcb04"), Style.BLACK)); - LINES.put("T5", new Style(Shape.RECT, Style.parseColor("#00c0f3"), Style.WHITE)); - LINES.put("T5E", new Style(Shape.RECT, Style.parseColor("#00c0f3"), Style.WHITE)); - LINES.put("T6", new Style(Shape.RECT, Style.parseColor("#80c342"), Style.WHITE)); - LINES.put("T6E", new Style(Shape.RECT, Style.parseColor("#80c342"), Style.WHITE)); - LINES.put("T7", new Style(Shape.RECT, Style.parseColor("#58595b"), Style.WHITE)); - LINES.put("T7E", new Style(Shape.RECT, Style.parseColor("#58595b"), Style.WHITE)); - LINES.put("T8", new Style(Shape.RECT, Style.parseColor("#f7931d"), Style.BLACK)); - LINES.put("T8E", new Style(Shape.RECT, Style.parseColor("#f7931d"), Style.BLACK)); + STYLES.put("T1", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); + STYLES.put("T1E", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); + STYLES.put("T2", new Style(Shape.RECT, Style.parseColor("#0071bc"), Style.WHITE)); + STYLES.put("T2E", new Style(Shape.RECT, Style.parseColor("#0071bc"), Style.WHITE)); + STYLES.put("T3", new Style(Shape.RECT, Style.parseColor("#947139"), Style.WHITE)); + STYLES.put("T3E", new Style(Shape.RECT, Style.parseColor("#947139"), Style.WHITE)); + STYLES.put("T4", new Style(Shape.RECT, Style.parseColor("#ffcb04"), Style.BLACK)); + STYLES.put("T4E", new Style(Shape.RECT, Style.parseColor("#ffcb04"), Style.BLACK)); + STYLES.put("T5", new Style(Shape.RECT, Style.parseColor("#00c0f3"), Style.WHITE)); + STYLES.put("T5E", new Style(Shape.RECT, Style.parseColor("#00c0f3"), Style.WHITE)); + STYLES.put("T6", new Style(Shape.RECT, Style.parseColor("#80c342"), Style.WHITE)); + STYLES.put("T6E", new Style(Shape.RECT, Style.parseColor("#80c342"), Style.WHITE)); + STYLES.put("T7", new Style(Shape.RECT, Style.parseColor("#58595b"), Style.WHITE)); + STYLES.put("T7E", new Style(Shape.RECT, Style.parseColor("#58595b"), Style.WHITE)); + STYLES.put("T8", new Style(Shape.RECT, Style.parseColor("#f7931d"), Style.BLACK)); + STYLES.put("T8E", new Style(Shape.RECT, Style.parseColor("#f7931d"), Style.BLACK)); // Bus - only used on bus plan // LINES.put("B21", new Style(Shape.CIRCLE, Style.parseColor("#2e3092"), Style.WHITE)); @@ -140,27 +142,17 @@ public class KvvProvider extends AbstractEfaProvider // LINES.put("B123", new Style(Shape.CIRCLE, Style.parseColor("#9d9fa1"), Style.WHITE)); // Nightliner - LINES.put("BNL3", new Style(Style.parseColor("#947139"), Style.WHITE)); - LINES.put("BNL4", new Style(Style.parseColor("#ffcb04"), Style.BLACK)); - LINES.put("BNL5", new Style(Style.parseColor("#00c0f3"), Style.WHITE)); - LINES.put("BNL6", new Style(Style.parseColor("#80c342"), Style.WHITE)); + STYLES.put("BNL3", new Style(Style.parseColor("#947139"), Style.WHITE)); + STYLES.put("BNL4", new Style(Style.parseColor("#ffcb04"), Style.BLACK)); + STYLES.put("BNL5", new Style(Style.parseColor("#00c0f3"), Style.WHITE)); + STYLES.put("BNL6", new Style(Style.parseColor("#80c342"), Style.WHITE)); // Anruf-Linien-Taxi - LINES.put("BALT6", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); - LINES.put("BALT11", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); - LINES.put("BALT12", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); - LINES.put("BALT13", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); - LINES.put("BALT14", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); - LINES.put("BALT16", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); + STYLES.put("BALT6", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); + STYLES.put("BALT11", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); + STYLES.put("BALT12", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); + STYLES.put("BALT13", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); + STYLES.put("BALT14", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); + STYLES.put("BALT16", new Style(Shape.RECT, Style.BLACK, Style.YELLOW)); } } diff --git a/enabler/src/de/schildbach/pte/LinzProvider.java b/enabler/src/de/schildbach/pte/LinzProvider.java index 0e34d332..17f62266 100644 --- a/enabler/src/de/schildbach/pte/LinzProvider.java +++ b/enabler/src/de/schildbach/pte/LinzProvider.java @@ -33,6 +33,8 @@ public class LinzProvider extends AbstractEfaProvider public LinzProvider() { super(API_BASE); + + setStyles(STYLES); } public NetworkId id() @@ -49,49 +51,39 @@ public class LinzProvider extends AbstractEfaProvider return false; } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { - LINES.put("B11", new Style(Style.Shape.RECT, Style.parseColor("#f27b02"), Style.WHITE)); - LINES.put("B12", new Style(Style.Shape.RECT, Style.parseColor("#00863a"), Style.WHITE)); - LINES.put("B17", new Style(Style.Shape.RECT, Style.parseColor("#f47a00"), Style.WHITE)); - LINES.put("B18", new Style(Style.Shape.RECT, Style.parseColor("#0066b5"), Style.WHITE)); - LINES.put("B19", new Style(Style.Shape.RECT, Style.parseColor("#f36aa8"), Style.WHITE)); - LINES.put("B25", new Style(Style.Shape.RECT, Style.parseColor("#d29f08"), Style.WHITE)); - LINES.put("B26", new Style(Style.Shape.RECT, Style.parseColor("#0070b6"), Style.WHITE)); - LINES.put("B27", new Style(Style.Shape.RECT, Style.parseColor("#96c41c"), Style.WHITE)); - LINES.put("B33", new Style(Style.Shape.RECT, Style.parseColor("#6d1f82"), Style.WHITE)); - LINES.put("B38", new Style(Style.Shape.RECT, Style.parseColor("#ef7b02"), Style.WHITE)); - LINES.put("B43", new Style(Style.Shape.RECT, Style.parseColor("#00ace3"), Style.WHITE)); - LINES.put("B45", new Style(Style.Shape.RECT, Style.parseColor("#db0c10"), Style.WHITE)); - LINES.put("B46", new Style(Style.Shape.RECT, Style.parseColor("#00acea"), Style.WHITE)); - LINES.put("B101", new Style(Style.Shape.RECT, Style.parseColor("#fdba00"), Style.WHITE)); - LINES.put("B102", new Style(Style.Shape.RECT, Style.parseColor("#9d701f"), Style.WHITE)); - LINES.put("B103", new Style(Style.Shape.RECT, Style.parseColor("#019793"), Style.WHITE)); - LINES.put("B104", new Style(Style.Shape.RECT, Style.parseColor("#699c23"), Style.WHITE)); - LINES.put("B105", new Style(Style.Shape.RECT, Style.parseColor("#004b9e"), Style.WHITE)); - LINES.put("B191", new Style(Style.Shape.RECT, Style.parseColor("#1293a8"), Style.WHITE)); - LINES.put("B192", new Style(Style.Shape.RECT, Style.parseColor("#947ab7"), Style.WHITE)); - LINES.put("BN2", new Style(Style.Shape.RECT, Style.parseColor("#005aac"), Style.WHITE)); // night - LINES.put("BN3", new Style(Style.Shape.RECT, Style.parseColor("#b80178"), Style.WHITE)); // night - LINES.put("BN4", new Style(Style.Shape.RECT, Style.parseColor("#93be01"), Style.WHITE)); // night + STYLES.put("B11", new Style(Style.Shape.RECT, Style.parseColor("#f27b02"), Style.WHITE)); + STYLES.put("B12", new Style(Style.Shape.RECT, Style.parseColor("#00863a"), Style.WHITE)); + STYLES.put("B17", new Style(Style.Shape.RECT, Style.parseColor("#f47a00"), Style.WHITE)); + STYLES.put("B18", new Style(Style.Shape.RECT, Style.parseColor("#0066b5"), Style.WHITE)); + STYLES.put("B19", new Style(Style.Shape.RECT, Style.parseColor("#f36aa8"), Style.WHITE)); + STYLES.put("B25", new Style(Style.Shape.RECT, Style.parseColor("#d29f08"), Style.WHITE)); + STYLES.put("B26", new Style(Style.Shape.RECT, Style.parseColor("#0070b6"), Style.WHITE)); + STYLES.put("B27", new Style(Style.Shape.RECT, Style.parseColor("#96c41c"), Style.WHITE)); + STYLES.put("B33", new Style(Style.Shape.RECT, Style.parseColor("#6d1f82"), Style.WHITE)); + STYLES.put("B38", new Style(Style.Shape.RECT, Style.parseColor("#ef7b02"), Style.WHITE)); + STYLES.put("B43", new Style(Style.Shape.RECT, Style.parseColor("#00ace3"), Style.WHITE)); + STYLES.put("B45", new Style(Style.Shape.RECT, Style.parseColor("#db0c10"), Style.WHITE)); + STYLES.put("B46", new Style(Style.Shape.RECT, Style.parseColor("#00acea"), Style.WHITE)); + STYLES.put("B101", new Style(Style.Shape.RECT, Style.parseColor("#fdba00"), Style.WHITE)); + STYLES.put("B102", new Style(Style.Shape.RECT, Style.parseColor("#9d701f"), Style.WHITE)); + STYLES.put("B103", new Style(Style.Shape.RECT, Style.parseColor("#019793"), Style.WHITE)); + STYLES.put("B104", new Style(Style.Shape.RECT, Style.parseColor("#699c23"), Style.WHITE)); + STYLES.put("B105", new Style(Style.Shape.RECT, Style.parseColor("#004b9e"), Style.WHITE)); + STYLES.put("B191", new Style(Style.Shape.RECT, Style.parseColor("#1293a8"), Style.WHITE)); + STYLES.put("B192", new Style(Style.Shape.RECT, Style.parseColor("#947ab7"), Style.WHITE)); + STYLES.put("BN2", new Style(Style.Shape.RECT, Style.parseColor("#005aac"), Style.WHITE)); // night + STYLES.put("BN3", new Style(Style.Shape.RECT, Style.parseColor("#b80178"), Style.WHITE)); // night + STYLES.put("BN4", new Style(Style.Shape.RECT, Style.parseColor("#93be01"), Style.WHITE)); // night - LINES.put("T1", new Style(Style.Shape.RECT, Style.parseColor("#dd0b12"), Style.WHITE)); - LINES.put("TN1", new Style(Style.Shape.RECT, Style.parseColor("#db0e16"), Style.WHITE)); // night - LINES.put("T2", new Style(Style.Shape.RECT, Style.parseColor("#dd0b12"), Style.WHITE)); - LINES.put("T3", new Style(Style.Shape.RECT, Style.parseColor("#dd0b12"), Style.WHITE)); + STYLES.put("T1", new Style(Style.Shape.RECT, Style.parseColor("#dd0b12"), Style.WHITE)); + STYLES.put("TN1", new Style(Style.Shape.RECT, Style.parseColor("#db0e16"), Style.WHITE)); // night + STYLES.put("T2", new Style(Style.Shape.RECT, Style.parseColor("#dd0b12"), Style.WHITE)); + STYLES.put("T3", new Style(Style.Shape.RECT, Style.parseColor("#dd0b12"), Style.WHITE)); - LINES.put("C50", new Style(Style.Shape.RECT, Style.parseColor("#4eae2c"), Style.WHITE)); // Pöstlingbergbahn - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); + STYLES.put("C50", new Style(Style.Shape.RECT, Style.parseColor("#4eae2c"), Style.WHITE)); // Pöstlingbergbahn } } diff --git a/enabler/src/de/schildbach/pte/MetProvider.java b/enabler/src/de/schildbach/pte/MetProvider.java index 7b634b64..2f36374f 100644 --- a/enabler/src/de/schildbach/pte/MetProvider.java +++ b/enabler/src/de/schildbach/pte/MetProvider.java @@ -38,6 +38,7 @@ public class MetProvider extends AbstractEfaProvider super(API_BASE); setUseRouteIndexAsTripId(false); + setStyles(STYLES); } public NetworkId id() @@ -75,25 +76,15 @@ public class MetProvider extends AbstractEfaProvider return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { - LINES.put('R', new Style(Style.parseColor("#a24ba3"), Style.WHITE)); - LINES.put('S', new Style(Style.parseColor("#3a75c4"), Style.WHITE)); - LINES.put('T', new Style(Style.parseColor("#5bbf21"), Style.WHITE)); - LINES.put('B', new Style(Style.parseColor("#f77f00"), Style.WHITE)); - } + STYLES.put("R", new Style(Style.parseColor("#a24ba3"), Style.WHITE)); + STYLES.put("S", new Style(Style.parseColor("#3a75c4"), Style.WHITE)); + STYLES.put("T", new Style(Style.parseColor("#5bbf21"), Style.WHITE)); + STYLES.put("B", new Style(Style.parseColor("#f77f00"), Style.WHITE)); - @Override - public Style lineStyle(final String line) - { // TODO NightRider buses (buses with numbers > 940): #f26522 - - final Style style = LINES.get(line.charAt(0)); - if (style != null) - return style; - else - return super.lineStyle(line); } } diff --git a/enabler/src/de/schildbach/pte/MvvProvider.java b/enabler/src/de/schildbach/pte/MvvProvider.java index fc3cfaea..a69e34d0 100644 --- a/enabler/src/de/schildbach/pte/MvvProvider.java +++ b/enabler/src/de/schildbach/pte/MvvProvider.java @@ -41,6 +41,7 @@ public class MvvProvider extends AbstractEfaProvider super(apiBase); setIncludeRegionId(false); + setStyles(STYLES); } public NetworkId id() @@ -82,54 +83,44 @@ public class MvvProvider extends AbstractEfaProvider return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { - LINES.put("SS1", new Style(Style.parseColor("#00ccff"), Style.WHITE)); - LINES.put("SS2", new Style(Style.parseColor("#66cc00"), Style.WHITE)); - LINES.put("SS3", new Style(Style.parseColor("#880099"), Style.WHITE)); - LINES.put("SS4", new Style(Style.parseColor("#ff0033"), Style.WHITE)); - LINES.put("SS6", new Style(Style.parseColor("#00aa66"), Style.WHITE)); - LINES.put("SS7", new Style(Style.parseColor("#993333"), Style.WHITE)); - LINES.put("SS8", new Style(Style.BLACK, Style.parseColor("#ffcc00"))); - LINES.put("SS20", new Style(Style.BLACK, Style.parseColor("#ffaaaa"))); - LINES.put("SS27", new Style(Style.parseColor("#ffaaaa"), Style.WHITE)); - LINES.put("SA", new Style(Style.parseColor("#231f20"), Style.WHITE)); + STYLES.put("SS1", new Style(Style.parseColor("#00ccff"), Style.WHITE)); + STYLES.put("SS2", new Style(Style.parseColor("#66cc00"), Style.WHITE)); + STYLES.put("SS3", new Style(Style.parseColor("#880099"), Style.WHITE)); + STYLES.put("SS4", new Style(Style.parseColor("#ff0033"), Style.WHITE)); + STYLES.put("SS6", new Style(Style.parseColor("#00aa66"), Style.WHITE)); + STYLES.put("SS7", new Style(Style.parseColor("#993333"), Style.WHITE)); + STYLES.put("SS8", new Style(Style.BLACK, Style.parseColor("#ffcc00"))); + STYLES.put("SS20", new Style(Style.BLACK, Style.parseColor("#ffaaaa"))); + STYLES.put("SS27", new Style(Style.parseColor("#ffaaaa"), Style.WHITE)); + STYLES.put("SA", new Style(Style.parseColor("#231f20"), Style.WHITE)); - LINES.put("T12", new Style(Style.parseColor("#883388"), Style.WHITE)); - LINES.put("T15", new Style(Style.parseColor("#3366CC"), Style.WHITE)); - LINES.put("T16", new Style(Style.parseColor("#CC8833"), Style.WHITE)); - LINES.put("T17", new Style(Style.parseColor("#993333"), Style.WHITE)); - LINES.put("T18", new Style(Style.parseColor("#66bb33"), Style.WHITE)); - LINES.put("T19", new Style(Style.parseColor("#cc0000"), Style.WHITE)); - LINES.put("T20", new Style(Style.parseColor("#00bbee"), Style.WHITE)); - LINES.put("T21", new Style(Style.parseColor("#33aa99"), Style.WHITE)); - LINES.put("T23", new Style(Style.parseColor("#fff000"), Style.WHITE)); - LINES.put("T25", new Style(Style.parseColor("#ff9999"), Style.WHITE)); - LINES.put("T27", new Style(Style.parseColor("#ff6600"), Style.WHITE)); - LINES.put("TN17", new Style(Style.parseColor("#999999"), Style.parseColor("#ffff00"))); - LINES.put("TN19", new Style(Style.parseColor("#999999"), Style.parseColor("#ffff00"))); - LINES.put("TN20", new Style(Style.parseColor("#999999"), Style.parseColor("#ffff00"))); - LINES.put("TN27", new Style(Style.parseColor("#999999"), Style.parseColor("#ffff00"))); + STYLES.put("T12", new Style(Style.parseColor("#883388"), Style.WHITE)); + STYLES.put("T15", new Style(Style.parseColor("#3366CC"), Style.WHITE)); + STYLES.put("T16", new Style(Style.parseColor("#CC8833"), Style.WHITE)); + STYLES.put("T17", new Style(Style.parseColor("#993333"), Style.WHITE)); + STYLES.put("T18", new Style(Style.parseColor("#66bb33"), Style.WHITE)); + STYLES.put("T19", new Style(Style.parseColor("#cc0000"), Style.WHITE)); + STYLES.put("T20", new Style(Style.parseColor("#00bbee"), Style.WHITE)); + STYLES.put("T21", new Style(Style.parseColor("#33aa99"), Style.WHITE)); + STYLES.put("T23", new Style(Style.parseColor("#fff000"), Style.WHITE)); + STYLES.put("T25", new Style(Style.parseColor("#ff9999"), Style.WHITE)); + STYLES.put("T27", new Style(Style.parseColor("#ff6600"), Style.WHITE)); + STYLES.put("TN17", new Style(Style.parseColor("#999999"), Style.parseColor("#ffff00"))); + STYLES.put("TN19", new Style(Style.parseColor("#999999"), Style.parseColor("#ffff00"))); + STYLES.put("TN20", new Style(Style.parseColor("#999999"), Style.parseColor("#ffff00"))); + STYLES.put("TN27", new Style(Style.parseColor("#999999"), Style.parseColor("#ffff00"))); - LINES.put("UU1", new Style(Style.parseColor("#227700"), Style.WHITE)); - LINES.put("UU2", new Style(Style.parseColor("#bb0000"), Style.WHITE)); - LINES.put("UU2E", new Style(Style.parseColor("#bb0000"), Style.WHITE)); - LINES.put("UU3", new Style(Style.parseColor("#ee8800"), Style.WHITE)); - LINES.put("UU4", new Style(Style.parseColor("#00ccaa"), Style.WHITE)); - LINES.put("UU5", new Style(Style.parseColor("#bb7700"), Style.WHITE)); - LINES.put("UU6", new Style(Style.parseColor("#0000cc"), Style.WHITE)); - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); + STYLES.put("UU1", new Style(Style.parseColor("#227700"), Style.WHITE)); + STYLES.put("UU2", new Style(Style.parseColor("#bb0000"), Style.WHITE)); + STYLES.put("UU2E", new Style(Style.parseColor("#bb0000"), Style.WHITE)); + STYLES.put("UU3", new Style(Style.parseColor("#ee8800"), Style.WHITE)); + STYLES.put("UU4", new Style(Style.parseColor("#00ccaa"), Style.WHITE)); + STYLES.put("UU5", new Style(Style.parseColor("#bb7700"), Style.WHITE)); + STYLES.put("UU6", new Style(Style.parseColor("#0000cc"), Style.WHITE)); } @Override diff --git a/enabler/src/de/schildbach/pte/SfProvider.java b/enabler/src/de/schildbach/pte/SfProvider.java index 33715687..8e0f6e38 100644 --- a/enabler/src/de/schildbach/pte/SfProvider.java +++ b/enabler/src/de/schildbach/pte/SfProvider.java @@ -37,6 +37,7 @@ public class SfProvider extends AbstractEfaProvider setUseRouteIndexAsTripId(false); setFareCorrectionFactor(0.01f); + setStyles(STYLES); } public NetworkId id() @@ -107,34 +108,24 @@ public class SfProvider extends AbstractEfaProvider return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { // BART - LINES.put("RDaly City / Dublin Pleasanton", new Style(Style.parseColor("#00AEEF"), Style.WHITE)); - LINES.put("RDulin Pleasanton / Daly City", new Style(Style.parseColor("#00AEEF"), Style.WHITE)); + STYLES.put("RDaly City / Dublin Pleasanton", new Style(Style.parseColor("#00AEEF"), Style.WHITE)); + STYLES.put("RDulin Pleasanton / Daly City", new Style(Style.parseColor("#00AEEF"), Style.WHITE)); - LINES.put("RSFO / Pittsburg Bay Point", new Style(Style.parseColor("#FFE800"), Style.BLACK)); - LINES.put("RPittsburg Bay Point / SFO", new Style(Style.parseColor("#FFE800"), Style.BLACK)); + STYLES.put("RSFO / Pittsburg Bay Point", new Style(Style.parseColor("#FFE800"), Style.BLACK)); + STYLES.put("RPittsburg Bay Point / SFO", new Style(Style.parseColor("#FFE800"), Style.BLACK)); - LINES.put("RDaly City / Fremont", new Style(Style.parseColor("#4EBF49"), Style.WHITE)); - LINES.put("RFremont / Daly City", new Style(Style.parseColor("#4EBF49"), Style.WHITE)); + STYLES.put("RDaly City / Fremont", new Style(Style.parseColor("#4EBF49"), Style.WHITE)); + STYLES.put("RFremont / Daly City", new Style(Style.parseColor("#4EBF49"), Style.WHITE)); - LINES.put("RFremont / Richmond", new Style(Style.parseColor("#FAA61A"), Style.WHITE)); - LINES.put("RRichmond / Fremont", new Style(Style.parseColor("#FAA61A"), Style.WHITE)); + STYLES.put("RFremont / Richmond", new Style(Style.parseColor("#FAA61A"), Style.WHITE)); + STYLES.put("RRichmond / Fremont", new Style(Style.parseColor("#FAA61A"), Style.WHITE)); - LINES.put("RMillbrae / Richmond", new Style(Style.parseColor("#F81A23"), Style.WHITE)); - LINES.put("RRichmond / Millbrae", new Style(Style.parseColor("#F81A23"), Style.WHITE)); - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); + STYLES.put("RMillbrae / Richmond", new Style(Style.parseColor("#F81A23"), Style.WHITE)); + STYLES.put("RRichmond / Millbrae", new Style(Style.parseColor("#F81A23"), Style.WHITE)); } } diff --git a/enabler/src/de/schildbach/pte/StandardColors.java b/enabler/src/de/schildbach/pte/Standard.java similarity index 56% rename from enabler/src/de/schildbach/pte/StandardColors.java rename to enabler/src/de/schildbach/pte/Standard.java index 4634c716..8f61789b 100644 --- a/enabler/src/de/schildbach/pte/StandardColors.java +++ b/enabler/src/de/schildbach/pte/Standard.java @@ -26,19 +26,19 @@ import de.schildbach.pte.dto.Style.Shape; /** * @author Andreas Schildbach */ -public class StandardColors +public class Standard { - public static final Map LINES = new HashMap(); + public static final Map STYLES = new HashMap(); static { - LINES.put('I', new Style(Shape.RECT, Style.WHITE, Style.RED, Style.RED)); - LINES.put('R', new Style(Shape.RECT, Style.GRAY, Style.WHITE)); - LINES.put('S', new Style(Shape.CIRCLE, Style.parseColor("#006e34"), Style.WHITE)); - LINES.put('U', new Style(Shape.RECT, Style.parseColor("#003090"), Style.WHITE)); - LINES.put('T', new Style(Shape.RECT, Style.parseColor("#cc0000"), Style.WHITE)); - LINES.put('B', new Style(Style.parseColor("#993399"), Style.WHITE)); - LINES.put('F', new Style(Shape.CIRCLE, Style.BLUE, Style.WHITE)); - LINES.put('?', new Style(Style.DKGRAY, Style.WHITE)); + STYLES.put('I', new Style(Shape.RECT, Style.WHITE, Style.RED, Style.RED)); + STYLES.put('R', new Style(Shape.RECT, Style.GRAY, Style.WHITE)); + STYLES.put('S', new Style(Shape.CIRCLE, Style.parseColor("#006e34"), Style.WHITE)); + STYLES.put('U', new Style(Shape.RECT, Style.parseColor("#003090"), Style.WHITE)); + STYLES.put('T', new Style(Shape.RECT, Style.parseColor("#cc0000"), Style.WHITE)); + STYLES.put('B', new Style(Style.parseColor("#993399"), Style.WHITE)); + STYLES.put('F', new Style(Shape.CIRCLE, Style.BLUE, Style.WHITE)); + STYLES.put('?', new Style(Style.DKGRAY, Style.WHITE)); } } diff --git a/enabler/src/de/schildbach/pte/StockholmProvider.java b/enabler/src/de/schildbach/pte/StockholmProvider.java index 4b4093c4..1e9da7d8 100644 --- a/enabler/src/de/schildbach/pte/StockholmProvider.java +++ b/enabler/src/de/schildbach/pte/StockholmProvider.java @@ -49,6 +49,8 @@ public class StockholmProvider extends AbstractHafasProvider public StockholmProvider() { super(API_BASE + "stboard.exe/sn", API_BASE + "ajax-getstop.exe/sny", API_BASE + "query.exe/sn", 7, null); + + setStyles(STYLES); } public NetworkId id() @@ -268,28 +270,18 @@ public class StockholmProvider extends AbstractHafasProvider return 0; } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { - LINES.put("UMETRO10", new Style(Shape.ROUNDED, Style.parseColor("#25368b"), Style.WHITE)); - LINES.put("UMETRO11", new Style(Shape.ROUNDED, Style.parseColor("#25368b"), Style.WHITE)); + STYLES.put("UMETRO10", new Style(Shape.ROUNDED, Style.parseColor("#25368b"), Style.WHITE)); + STYLES.put("UMETRO11", new Style(Shape.ROUNDED, Style.parseColor("#25368b"), Style.WHITE)); - LINES.put("UMETRO13", new Style(Shape.ROUNDED, Style.parseColor("#f1491c"), Style.WHITE)); - LINES.put("UMETRO14", new Style(Shape.ROUNDED, Style.parseColor("#f1491c"), Style.WHITE)); + STYLES.put("UMETRO13", new Style(Shape.ROUNDED, Style.parseColor("#f1491c"), Style.WHITE)); + STYLES.put("UMETRO14", new Style(Shape.ROUNDED, Style.parseColor("#f1491c"), Style.WHITE)); - LINES.put("UMETRO17", new Style(Shape.ROUNDED, Style.parseColor("#6ec72d"), Style.WHITE)); - LINES.put("UMETRO18", new Style(Shape.ROUNDED, Style.parseColor("#6ec72d"), Style.WHITE)); - LINES.put("UMETRO19", new Style(Shape.ROUNDED, Style.parseColor("#6ec72d"), Style.WHITE)); - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - - return super.lineStyle(line); + STYLES.put("UMETRO17", new Style(Shape.ROUNDED, Style.parseColor("#6ec72d"), Style.WHITE)); + STYLES.put("UMETRO18", new Style(Shape.ROUNDED, Style.parseColor("#6ec72d"), Style.WHITE)); + STYLES.put("UMETRO19", new Style(Shape.ROUNDED, Style.parseColor("#6ec72d"), Style.WHITE)); } } diff --git a/enabler/src/de/schildbach/pte/TflProvider.java b/enabler/src/de/schildbach/pte/TflProvider.java index c1226b66..98f566d1 100644 --- a/enabler/src/de/schildbach/pte/TflProvider.java +++ b/enabler/src/de/schildbach/pte/TflProvider.java @@ -36,6 +36,7 @@ public class TflProvider extends AbstractEfaProvider super(API_BASE); setUseLineRestriction(false); + setStyles(STYLES); } public NetworkId id() @@ -126,40 +127,38 @@ public class TflProvider extends AbstractEfaProvider return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { // London - LINES.put("UBakerloo", new Style(Style.parseColor("#9D5324"), Style.WHITE)); - LINES.put("UCentral", new Style(Style.parseColor("#D52B1E"), Style.WHITE)); - LINES.put("UCircle", new Style(Style.parseColor("#FECB00"), Style.BLACK)); - LINES.put("UDistrict", new Style(Style.parseColor("#007934"), Style.WHITE)); - LINES.put("UEast London", new Style(Style.parseColor("#FFA100"), Style.WHITE)); - LINES.put("UHammersmith & City", new Style(Style.parseColor("#C5858F"), Style.BLACK)); - LINES.put("UJubilee", new Style(Style.parseColor("#818A8F"), Style.WHITE)); - LINES.put("UMetropolitan", new Style(Style.parseColor("#850057"), Style.WHITE)); - LINES.put("UNorthern", new Style(Style.BLACK, Style.WHITE)); - LINES.put("UPicadilly", new Style(Style.parseColor("#0018A8"), Style.WHITE)); - LINES.put("UVictoria", new Style(Style.parseColor("#00A1DE"), Style.WHITE)); - LINES.put("UWaterloo & City", new Style(Style.parseColor("#76D2B6"), Style.BLACK)); + STYLES.put("UBakerloo", new Style(Style.parseColor("#9D5324"), Style.WHITE)); + STYLES.put("UCentral", new Style(Style.parseColor("#D52B1E"), Style.WHITE)); + STYLES.put("UCircle", new Style(Style.parseColor("#FECB00"), Style.BLACK)); + STYLES.put("UDistrict", new Style(Style.parseColor("#007934"), Style.WHITE)); + STYLES.put("UEast London", new Style(Style.parseColor("#FFA100"), Style.WHITE)); + STYLES.put("UHammersmith & City", new Style(Style.parseColor("#C5858F"), Style.BLACK)); + STYLES.put("UJubilee", new Style(Style.parseColor("#818A8F"), Style.WHITE)); + STYLES.put("UMetropolitan", new Style(Style.parseColor("#850057"), Style.WHITE)); + STYLES.put("UNorthern", new Style(Style.BLACK, Style.WHITE)); + STYLES.put("UPicadilly", new Style(Style.parseColor("#0018A8"), Style.WHITE)); + STYLES.put("UVictoria", new Style(Style.parseColor("#00A1DE"), Style.WHITE)); + STYLES.put("UWaterloo & City", new Style(Style.parseColor("#76D2B6"), Style.BLACK)); - LINES.put("SDLR", new Style(Style.parseColor("#00B2A9"), Style.WHITE)); - LINES.put("SLO", new Style(Style.parseColor("#f46f1a"), Style.WHITE)); + STYLES.put("SDLR", new Style(Style.parseColor("#00B2A9"), Style.WHITE)); + STYLES.put("SLO", new Style(Style.parseColor("#f46f1a"), Style.WHITE)); - LINES.put("TTramlink 1", new Style(Style.rgb(193, 215, 46), Style.WHITE)); - LINES.put("TTramlink 2", new Style(Style.rgb(193, 215, 46), Style.WHITE)); - LINES.put("TTramlink 3", new Style(Style.rgb(124, 194, 66), Style.BLACK)); + STYLES.put("TTramlink 1", new Style(Style.rgb(193, 215, 46), Style.WHITE)); + STYLES.put("TTramlink 2", new Style(Style.rgb(193, 215, 46), Style.WHITE)); + STYLES.put("TTramlink 3", new Style(Style.rgb(124, 194, 66), Style.BLACK)); } @Override public Style lineStyle(final String line) { - final Style style = LINES.get(line); - if (style != null) - return style; if (line.startsWith("SLO")) - return LINES.get("SLO"); + return super.lineStyle("SLO"); + return super.lineStyle(line); } } diff --git a/enabler/src/de/schildbach/pte/VagfrProvider.java b/enabler/src/de/schildbach/pte/VagfrProvider.java index 538ace76..20e3669c 100644 --- a/enabler/src/de/schildbach/pte/VagfrProvider.java +++ b/enabler/src/de/schildbach/pte/VagfrProvider.java @@ -40,6 +40,7 @@ public class VagfrProvider extends AbstractEfaProvider super(API_BASE); setUseRouteIndexAsTripId(false); + setStyles(STYLES); } public NetworkId id() @@ -75,27 +76,17 @@ public class VagfrProvider extends AbstractEfaProvider return super.parseLine(mot, symbol, name, longName, trainType, trainNum, trainName); } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { // Tram - LINES.put("T1", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); - LINES.put("T2", new Style(Shape.RECT, Style.parseColor("#33b540"), Style.WHITE)); - LINES.put("T3", new Style(Shape.RECT, Style.parseColor("#f79210"), Style.WHITE)); - LINES.put("T5", new Style(Shape.RECT, Style.parseColor("#0994ce"), Style.WHITE)); + STYLES.put("T1", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); + STYLES.put("T2", new Style(Shape.RECT, Style.parseColor("#33b540"), Style.WHITE)); + STYLES.put("T3", new Style(Shape.RECT, Style.parseColor("#f79210"), Style.WHITE)); + STYLES.put("T5", new Style(Shape.RECT, Style.parseColor("#0994ce"), Style.WHITE)); // Nachtbus - LINES.put("BN42 Jupiter", new Style(Style.parseColor("#33b540"), Style.WHITE)); - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); + STYLES.put("BN42 Jupiter", new Style(Style.parseColor("#33b540"), Style.WHITE)); } } diff --git a/enabler/src/de/schildbach/pte/VorProvider.java b/enabler/src/de/schildbach/pte/VorProvider.java index 52fbfa21..2bf2c821 100644 --- a/enabler/src/de/schildbach/pte/VorProvider.java +++ b/enabler/src/de/schildbach/pte/VorProvider.java @@ -38,6 +38,7 @@ public class VorProvider extends AbstractEfaProvider setHttpRefererTrip(API_BASE + DEFAULT_TRIP_ENDPOINT); setHttpPost(true); setIncludeRegionId(false); + setStyles(STYLES); } public NetworkId id() @@ -54,36 +55,25 @@ public class VorProvider extends AbstractEfaProvider return false; } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { // Wien - LINES.put("SS1", new Style(Style.Shape.ROUNDED, Style.parseColor("#1e5cb3"), Style.WHITE)); - LINES.put("SS2", new Style(Style.Shape.ROUNDED, Style.parseColor("#59c594"), Style.WHITE)); - LINES.put("SS3", new Style(Style.Shape.ROUNDED, Style.parseColor("#c8154c"), Style.WHITE)); - LINES.put("SS7", new Style(Style.Shape.ROUNDED, Style.parseColor("#dc35a3"), Style.WHITE)); - LINES.put("SS40", new Style(Style.Shape.ROUNDED, Style.parseColor("#f24d3e"), Style.WHITE)); - LINES.put("SS45", new Style(Style.Shape.ROUNDED, Style.parseColor("#0f8572"), Style.WHITE)); - LINES.put("SS50", new Style(Style.Shape.ROUNDED, Style.parseColor("#34b6e5"), Style.WHITE)); - LINES.put("SS60", new Style(Style.Shape.ROUNDED, Style.parseColor("#82b429"), Style.WHITE)); - LINES.put("SS80", new Style(Style.Shape.ROUNDED, Style.parseColor("#e96619"), Style.WHITE)); + STYLES.put("SS1", new Style(Style.Shape.ROUNDED, Style.parseColor("#1e5cb3"), Style.WHITE)); + STYLES.put("SS2", new Style(Style.Shape.ROUNDED, Style.parseColor("#59c594"), Style.WHITE)); + STYLES.put("SS3", new Style(Style.Shape.ROUNDED, Style.parseColor("#c8154c"), Style.WHITE)); + STYLES.put("SS7", new Style(Style.Shape.ROUNDED, Style.parseColor("#dc35a3"), Style.WHITE)); + STYLES.put("SS40", new Style(Style.Shape.ROUNDED, Style.parseColor("#f24d3e"), Style.WHITE)); + STYLES.put("SS45", new Style(Style.Shape.ROUNDED, Style.parseColor("#0f8572"), Style.WHITE)); + STYLES.put("SS50", new Style(Style.Shape.ROUNDED, Style.parseColor("#34b6e5"), Style.WHITE)); + STYLES.put("SS60", new Style(Style.Shape.ROUNDED, Style.parseColor("#82b429"), Style.WHITE)); + STYLES.put("SS80", new Style(Style.Shape.ROUNDED, Style.parseColor("#e96619"), Style.WHITE)); - LINES.put("UU1", new Style(Style.Shape.RECT, Style.parseColor("#c6292a"), Style.WHITE)); - LINES.put("UU2", new Style(Style.Shape.RECT, Style.parseColor("#a82783"), Style.WHITE)); - LINES.put("UU3", new Style(Style.Shape.RECT, Style.parseColor("#f39315"), Style.WHITE)); - LINES.put("UU4", new Style(Style.Shape.RECT, Style.parseColor("#23a740"), Style.WHITE)); - LINES.put("UU6", new Style(Style.Shape.RECT, Style.parseColor("#be762c"), Style.WHITE)); + STYLES.put("UU1", new Style(Style.Shape.RECT, Style.parseColor("#c6292a"), Style.WHITE)); + STYLES.put("UU2", new Style(Style.Shape.RECT, Style.parseColor("#a82783"), Style.WHITE)); + STYLES.put("UU3", new Style(Style.Shape.RECT, Style.parseColor("#f39315"), Style.WHITE)); + STYLES.put("UU4", new Style(Style.Shape.RECT, Style.parseColor("#23a740"), Style.WHITE)); + STYLES.put("UU6", new Style(Style.Shape.RECT, Style.parseColor("#be762c"), Style.WHITE)); } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); - } - } diff --git a/enabler/src/de/schildbach/pte/VrrProvider.java b/enabler/src/de/schildbach/pte/VrrProvider.java index 67bad3e1..c49f936e 100644 --- a/enabler/src/de/schildbach/pte/VrrProvider.java +++ b/enabler/src/de/schildbach/pte/VrrProvider.java @@ -39,6 +39,7 @@ public class VrrProvider extends AbstractEfaProvider super(API_BASE); setNeedsSpEncId(true); + setStyles(STYLES); } public NetworkId id() @@ -61,73 +62,63 @@ public class VrrProvider extends AbstractEfaProvider return xmlStopfinderRequest(new Location(LocationType.ANY, 0, null, constraint.toString())); } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { // Busse Bonn - LINES.put("B63", new Style(Style.parseColor("#0065ae"), Style.WHITE)); - LINES.put("B16", new Style(Style.parseColor("#0065ae"), Style.WHITE)); - LINES.put("B66", new Style(Style.parseColor("#0065ae"), Style.WHITE)); - LINES.put("B67", new Style(Style.parseColor("#0065ae"), Style.WHITE)); - LINES.put("B68", new Style(Style.parseColor("#0065ae"), Style.WHITE)); - LINES.put("B18", new Style(Style.parseColor("#0065ae"), Style.WHITE)); - LINES.put("B61", new Style(Style.parseColor("#e4000b"), Style.WHITE)); - LINES.put("B62", new Style(Style.parseColor("#e4000b"), Style.WHITE)); - LINES.put("B65", new Style(Style.parseColor("#e4000b"), Style.WHITE)); - LINES.put("BSB55", new Style(Style.parseColor("#00919e"), Style.WHITE)); - LINES.put("BSB60", new Style(Style.parseColor("#8f9867"), Style.WHITE)); - LINES.put("BSB69", new Style(Style.parseColor("#db5f1f"), Style.WHITE)); - LINES.put("B529", new Style(Style.parseColor("#2e2383"), Style.WHITE)); - LINES.put("B537", new Style(Style.parseColor("#2e2383"), Style.WHITE)); - LINES.put("B541", new Style(Style.parseColor("#2e2383"), Style.WHITE)); - LINES.put("B550", new Style(Style.parseColor("#2e2383"), Style.WHITE)); - LINES.put("B163", new Style(Style.parseColor("#2e2383"), Style.WHITE)); - LINES.put("B551", new Style(Style.parseColor("#2e2383"), Style.WHITE)); - LINES.put("B600", new Style(Style.parseColor("#817db7"), Style.WHITE)); - LINES.put("B601", new Style(Style.parseColor("#831b82"), Style.WHITE)); - LINES.put("B602", new Style(Style.parseColor("#dd6ba6"), Style.WHITE)); - LINES.put("B603", new Style(Style.parseColor("#e6007d"), Style.WHITE)); - LINES.put("B604", new Style(Style.parseColor("#009f5d"), Style.WHITE)); - LINES.put("B605", new Style(Style.parseColor("#007b3b"), Style.WHITE)); - LINES.put("B606", new Style(Style.parseColor("#9cbf11"), Style.WHITE)); - LINES.put("B607", new Style(Style.parseColor("#60ad2a"), Style.WHITE)); - LINES.put("B608", new Style(Style.parseColor("#f8a600"), Style.WHITE)); - LINES.put("B609", new Style(Style.parseColor("#ef7100"), Style.WHITE)); - LINES.put("B610", new Style(Style.parseColor("#3ec1f1"), Style.WHITE)); - LINES.put("B611", new Style(Style.parseColor("#0099db"), Style.WHITE)); - LINES.put("B612", new Style(Style.parseColor("#ce9d53"), Style.WHITE)); - LINES.put("B613", new Style(Style.parseColor("#7b3600"), Style.WHITE)); - LINES.put("B614", new Style(Style.parseColor("#806839"), Style.WHITE)); - LINES.put("B615", new Style(Style.parseColor("#532700"), Style.WHITE)); - LINES.put("B630", new Style(Style.parseColor("#c41950"), Style.WHITE)); - LINES.put("B631", new Style(Style.parseColor("#9b1c44"), Style.WHITE)); - LINES.put("B633", new Style(Style.parseColor("#88cdc7"), Style.WHITE)); - LINES.put("B635", new Style(Style.parseColor("#cec800"), Style.WHITE)); - LINES.put("B636", new Style(Style.parseColor("#af0223"), Style.WHITE)); - LINES.put("B637", new Style(Style.parseColor("#e3572a"), Style.WHITE)); - LINES.put("B638", new Style(Style.parseColor("#af5836"), Style.WHITE)); - LINES.put("B640", new Style(Style.parseColor("#004f81"), Style.WHITE)); - LINES.put("BT650", new Style(Style.parseColor("#54baa2"), Style.WHITE)); - LINES.put("BT651", new Style(Style.parseColor("#005738"), Style.WHITE)); - LINES.put("BT680", new Style(Style.parseColor("#4e6578"), Style.WHITE)); - LINES.put("B800", new Style(Style.parseColor("#4e6578"), Style.WHITE)); - LINES.put("B812", new Style(Style.parseColor("#4e6578"), Style.WHITE)); - LINES.put("B843", new Style(Style.parseColor("#4e6578"), Style.WHITE)); - LINES.put("B845", new Style(Style.parseColor("#4e6578"), Style.WHITE)); - LINES.put("B852", new Style(Style.parseColor("#4e6578"), Style.WHITE)); - LINES.put("B855", new Style(Style.parseColor("#4e6578"), Style.WHITE)); - LINES.put("B856", new Style(Style.parseColor("#4e6578"), Style.WHITE)); - LINES.put("B857", new Style(Style.parseColor("#4e6578"), Style.WHITE)); - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); + STYLES.put("B63", new Style(Style.parseColor("#0065ae"), Style.WHITE)); + STYLES.put("B16", new Style(Style.parseColor("#0065ae"), Style.WHITE)); + STYLES.put("B66", new Style(Style.parseColor("#0065ae"), Style.WHITE)); + STYLES.put("B67", new Style(Style.parseColor("#0065ae"), Style.WHITE)); + STYLES.put("B68", new Style(Style.parseColor("#0065ae"), Style.WHITE)); + STYLES.put("B18", new Style(Style.parseColor("#0065ae"), Style.WHITE)); + STYLES.put("B61", new Style(Style.parseColor("#e4000b"), Style.WHITE)); + STYLES.put("B62", new Style(Style.parseColor("#e4000b"), Style.WHITE)); + STYLES.put("B65", new Style(Style.parseColor("#e4000b"), Style.WHITE)); + STYLES.put("BSB55", new Style(Style.parseColor("#00919e"), Style.WHITE)); + STYLES.put("BSB60", new Style(Style.parseColor("#8f9867"), Style.WHITE)); + STYLES.put("BSB69", new Style(Style.parseColor("#db5f1f"), Style.WHITE)); + STYLES.put("B529", new Style(Style.parseColor("#2e2383"), Style.WHITE)); + STYLES.put("B537", new Style(Style.parseColor("#2e2383"), Style.WHITE)); + STYLES.put("B541", new Style(Style.parseColor("#2e2383"), Style.WHITE)); + STYLES.put("B550", new Style(Style.parseColor("#2e2383"), Style.WHITE)); + STYLES.put("B163", new Style(Style.parseColor("#2e2383"), Style.WHITE)); + STYLES.put("B551", new Style(Style.parseColor("#2e2383"), Style.WHITE)); + STYLES.put("B600", new Style(Style.parseColor("#817db7"), Style.WHITE)); + STYLES.put("B601", new Style(Style.parseColor("#831b82"), Style.WHITE)); + STYLES.put("B602", new Style(Style.parseColor("#dd6ba6"), Style.WHITE)); + STYLES.put("B603", new Style(Style.parseColor("#e6007d"), Style.WHITE)); + STYLES.put("B604", new Style(Style.parseColor("#009f5d"), Style.WHITE)); + STYLES.put("B605", new Style(Style.parseColor("#007b3b"), Style.WHITE)); + STYLES.put("B606", new Style(Style.parseColor("#9cbf11"), Style.WHITE)); + STYLES.put("B607", new Style(Style.parseColor("#60ad2a"), Style.WHITE)); + STYLES.put("B608", new Style(Style.parseColor("#f8a600"), Style.WHITE)); + STYLES.put("B609", new Style(Style.parseColor("#ef7100"), Style.WHITE)); + STYLES.put("B610", new Style(Style.parseColor("#3ec1f1"), Style.WHITE)); + STYLES.put("B611", new Style(Style.parseColor("#0099db"), Style.WHITE)); + STYLES.put("B612", new Style(Style.parseColor("#ce9d53"), Style.WHITE)); + STYLES.put("B613", new Style(Style.parseColor("#7b3600"), Style.WHITE)); + STYLES.put("B614", new Style(Style.parseColor("#806839"), Style.WHITE)); + STYLES.put("B615", new Style(Style.parseColor("#532700"), Style.WHITE)); + STYLES.put("B630", new Style(Style.parseColor("#c41950"), Style.WHITE)); + STYLES.put("B631", new Style(Style.parseColor("#9b1c44"), Style.WHITE)); + STYLES.put("B633", new Style(Style.parseColor("#88cdc7"), Style.WHITE)); + STYLES.put("B635", new Style(Style.parseColor("#cec800"), Style.WHITE)); + STYLES.put("B636", new Style(Style.parseColor("#af0223"), Style.WHITE)); + STYLES.put("B637", new Style(Style.parseColor("#e3572a"), Style.WHITE)); + STYLES.put("B638", new Style(Style.parseColor("#af5836"), Style.WHITE)); + STYLES.put("B640", new Style(Style.parseColor("#004f81"), Style.WHITE)); + STYLES.put("BT650", new Style(Style.parseColor("#54baa2"), Style.WHITE)); + STYLES.put("BT651", new Style(Style.parseColor("#005738"), Style.WHITE)); + STYLES.put("BT680", new Style(Style.parseColor("#4e6578"), Style.WHITE)); + STYLES.put("B800", new Style(Style.parseColor("#4e6578"), Style.WHITE)); + STYLES.put("B812", new Style(Style.parseColor("#4e6578"), Style.WHITE)); + STYLES.put("B843", new Style(Style.parseColor("#4e6578"), Style.WHITE)); + STYLES.put("B845", new Style(Style.parseColor("#4e6578"), Style.WHITE)); + STYLES.put("B852", new Style(Style.parseColor("#4e6578"), Style.WHITE)); + STYLES.put("B855", new Style(Style.parseColor("#4e6578"), Style.WHITE)); + STYLES.put("B856", new Style(Style.parseColor("#4e6578"), Style.WHITE)); + STYLES.put("B857", new Style(Style.parseColor("#4e6578"), Style.WHITE)); } } diff --git a/enabler/src/de/schildbach/pte/WienProvider.java b/enabler/src/de/schildbach/pte/WienProvider.java index d5a339ba..991755cc 100644 --- a/enabler/src/de/schildbach/pte/WienProvider.java +++ b/enabler/src/de/schildbach/pte/WienProvider.java @@ -35,6 +35,7 @@ public class WienProvider extends AbstractEfaProvider super(API_BASE); setIncludeRegionId(false); + setStyles(STYLES); } public NetworkId id() @@ -51,35 +52,25 @@ public class WienProvider extends AbstractEfaProvider return false; } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { // Wien - LINES.put("SS1", new Style(Style.Shape.ROUNDED, Style.parseColor("#1e5cb3"), Style.WHITE)); - LINES.put("SS2", new Style(Style.Shape.ROUNDED, Style.parseColor("#59c594"), Style.WHITE)); - LINES.put("SS3", new Style(Style.Shape.ROUNDED, Style.parseColor("#c8154c"), Style.WHITE)); - LINES.put("SS7", new Style(Style.Shape.ROUNDED, Style.parseColor("#dc35a3"), Style.WHITE)); - LINES.put("SS40", new Style(Style.Shape.ROUNDED, Style.parseColor("#f24d3e"), Style.WHITE)); - LINES.put("SS45", new Style(Style.Shape.ROUNDED, Style.parseColor("#0f8572"), Style.WHITE)); - LINES.put("SS50", new Style(Style.Shape.ROUNDED, Style.parseColor("#34b6e5"), Style.WHITE)); - LINES.put("SS60", new Style(Style.Shape.ROUNDED, Style.parseColor("#82b429"), Style.WHITE)); - LINES.put("SS80", new Style(Style.Shape.ROUNDED, Style.parseColor("#e96619"), Style.WHITE)); + STYLES.put("SS1", new Style(Style.Shape.ROUNDED, Style.parseColor("#1e5cb3"), Style.WHITE)); + STYLES.put("SS2", new Style(Style.Shape.ROUNDED, Style.parseColor("#59c594"), Style.WHITE)); + STYLES.put("SS3", new Style(Style.Shape.ROUNDED, Style.parseColor("#c8154c"), Style.WHITE)); + STYLES.put("SS7", new Style(Style.Shape.ROUNDED, Style.parseColor("#dc35a3"), Style.WHITE)); + STYLES.put("SS40", new Style(Style.Shape.ROUNDED, Style.parseColor("#f24d3e"), Style.WHITE)); + STYLES.put("SS45", new Style(Style.Shape.ROUNDED, Style.parseColor("#0f8572"), Style.WHITE)); + STYLES.put("SS50", new Style(Style.Shape.ROUNDED, Style.parseColor("#34b6e5"), Style.WHITE)); + STYLES.put("SS60", new Style(Style.Shape.ROUNDED, Style.parseColor("#82b429"), Style.WHITE)); + STYLES.put("SS80", new Style(Style.Shape.ROUNDED, Style.parseColor("#e96619"), Style.WHITE)); - LINES.put("UU1", new Style(Style.Shape.RECT, Style.parseColor("#c6292a"), Style.WHITE)); - LINES.put("UU2", new Style(Style.Shape.RECT, Style.parseColor("#a82783"), Style.WHITE)); - LINES.put("UU3", new Style(Style.Shape.RECT, Style.parseColor("#f39315"), Style.WHITE)); - LINES.put("UU4", new Style(Style.Shape.RECT, Style.parseColor("#23a740"), Style.WHITE)); - LINES.put("UU6", new Style(Style.Shape.RECT, Style.parseColor("#be762c"), Style.WHITE)); - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); + STYLES.put("UU1", new Style(Style.Shape.RECT, Style.parseColor("#c6292a"), Style.WHITE)); + STYLES.put("UU2", new Style(Style.Shape.RECT, Style.parseColor("#a82783"), Style.WHITE)); + STYLES.put("UU3", new Style(Style.Shape.RECT, Style.parseColor("#f39315"), Style.WHITE)); + STYLES.put("UU4", new Style(Style.Shape.RECT, Style.parseColor("#23a740"), Style.WHITE)); + STYLES.put("UU6", new Style(Style.Shape.RECT, Style.parseColor("#be762c"), Style.WHITE)); } } diff --git a/enabler/src/de/schildbach/pte/ZvvProvider.java b/enabler/src/de/schildbach/pte/ZvvProvider.java index a23d98c1..1c5cde6b 100644 --- a/enabler/src/de/schildbach/pte/ZvvProvider.java +++ b/enabler/src/de/schildbach/pte/ZvvProvider.java @@ -43,6 +43,8 @@ public class ZvvProvider extends AbstractHafasProvider public ZvvProvider() { super(API_BASE + "stboard.exe/dn", null, API_BASE + "query.exe/dn", 10, null, UTF_8, UTF_8); + + setStyles(STYLES); } public NetworkId id() @@ -301,70 +303,60 @@ public class ZvvProvider extends AbstractHafasProvider return 0; } - private static final Map LINES = new HashMap(); + private static final Map STYLES = new HashMap(); static { // S-Bahn - LINES.put("SS2", new Style(Shape.RECT, Style.parseColor("#70c82c"), Style.WHITE)); - LINES.put("SS3", new Style(Shape.RECT, Style.parseColor("#587AC2"), Style.WHITE)); - LINES.put("SS4", new Style(Shape.RECT, Style.parseColor("#EE7267"), Style.WHITE)); - LINES.put("SS5", new Style(Shape.RECT, Style.parseColor("#6aadc3"), Style.WHITE)); - LINES.put("SS6", new Style(Shape.RECT, Style.parseColor("#6f41a4"), Style.WHITE)); - LINES.put("SS7", new Style(Shape.RECT, Style.parseColor("#fbb809"), Style.BLACK)); - LINES.put("SS8", new Style(Shape.RECT, Style.parseColor("#562691"), Style.WHITE)); - LINES.put("SS9", new Style(Shape.RECT, Style.parseColor("#069A5D"), Style.WHITE)); - LINES.put("SS10", new Style(Shape.RECT, Style.parseColor("#fbc434"), Style.BLACK)); - LINES.put("SS11", new Style(Shape.RECT, Style.parseColor("#ae90cf"), Style.WHITE)); - LINES.put("SS12", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); - LINES.put("SS13", new Style(Shape.RECT, Style.parseColor("#905723"), Style.WHITE)); - LINES.put("SS14", new Style(Shape.RECT, Style.parseColor("#753c0c"), Style.WHITE)); - LINES.put("SS15", new Style(Shape.RECT, Style.parseColor("#c79f73"), Style.WHITE)); - LINES.put("SS16", new Style(Shape.RECT, Style.parseColor("#68c971"), Style.WHITE)); - LINES.put("SS17", new Style(Shape.RECT, Style.parseColor("#3b99b5"), Style.WHITE)); - LINES.put("SS18", new Style(Shape.RECT, Style.parseColor("#f14337"), Style.WHITE)); - LINES.put("SS21", new Style(Shape.RECT, Style.parseColor("#9acaee"), Style.WHITE)); - LINES.put("SS22", new Style(Shape.RECT, Style.parseColor("#8dd24e"), Style.WHITE)); - LINES.put("SS24", new Style(Shape.RECT, Style.parseColor("#ab7745"), Style.WHITE)); - LINES.put("SS26", new Style(Shape.RECT, Style.parseColor("#0e87aa"), Style.WHITE)); - LINES.put("SS29", new Style(Shape.RECT, Style.parseColor("#3dba56"), Style.WHITE)); - LINES.put("SS30", new Style(Shape.RECT, Style.parseColor("#0b8ed8"), Style.WHITE)); - LINES.put("SS33", new Style(Shape.RECT, Style.parseColor("#51aae3"), Style.WHITE)); - LINES.put("SS35", new Style(Shape.RECT, Style.parseColor("#81c0eb"), Style.WHITE)); - LINES.put("SS40", new Style(Shape.RECT, Style.parseColor("#ae90cf"), Style.WHITE)); - LINES.put("SS41", new Style(Shape.RECT, Style.parseColor("#f89a83"), Style.WHITE)); - LINES.put("SS55", new Style(Shape.RECT, Style.parseColor("#905723"), Style.WHITE)); + STYLES.put("SS2", new Style(Shape.RECT, Style.parseColor("#70c82c"), Style.WHITE)); + STYLES.put("SS3", new Style(Shape.RECT, Style.parseColor("#587AC2"), Style.WHITE)); + STYLES.put("SS4", new Style(Shape.RECT, Style.parseColor("#EE7267"), Style.WHITE)); + STYLES.put("SS5", new Style(Shape.RECT, Style.parseColor("#6aadc3"), Style.WHITE)); + STYLES.put("SS6", new Style(Shape.RECT, Style.parseColor("#6f41a4"), Style.WHITE)); + STYLES.put("SS7", new Style(Shape.RECT, Style.parseColor("#fbb809"), Style.BLACK)); + STYLES.put("SS8", new Style(Shape.RECT, Style.parseColor("#562691"), Style.WHITE)); + STYLES.put("SS9", new Style(Shape.RECT, Style.parseColor("#069A5D"), Style.WHITE)); + STYLES.put("SS10", new Style(Shape.RECT, Style.parseColor("#fbc434"), Style.BLACK)); + STYLES.put("SS11", new Style(Shape.RECT, Style.parseColor("#ae90cf"), Style.WHITE)); + STYLES.put("SS12", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); + STYLES.put("SS13", new Style(Shape.RECT, Style.parseColor("#905723"), Style.WHITE)); + STYLES.put("SS14", new Style(Shape.RECT, Style.parseColor("#753c0c"), Style.WHITE)); + STYLES.put("SS15", new Style(Shape.RECT, Style.parseColor("#c79f73"), Style.WHITE)); + STYLES.put("SS16", new Style(Shape.RECT, Style.parseColor("#68c971"), Style.WHITE)); + STYLES.put("SS17", new Style(Shape.RECT, Style.parseColor("#3b99b5"), Style.WHITE)); + STYLES.put("SS18", new Style(Shape.RECT, Style.parseColor("#f14337"), Style.WHITE)); + STYLES.put("SS21", new Style(Shape.RECT, Style.parseColor("#9acaee"), Style.WHITE)); + STYLES.put("SS22", new Style(Shape.RECT, Style.parseColor("#8dd24e"), Style.WHITE)); + STYLES.put("SS24", new Style(Shape.RECT, Style.parseColor("#ab7745"), Style.WHITE)); + STYLES.put("SS26", new Style(Shape.RECT, Style.parseColor("#0e87aa"), Style.WHITE)); + STYLES.put("SS29", new Style(Shape.RECT, Style.parseColor("#3dba56"), Style.WHITE)); + STYLES.put("SS30", new Style(Shape.RECT, Style.parseColor("#0b8ed8"), Style.WHITE)); + STYLES.put("SS33", new Style(Shape.RECT, Style.parseColor("#51aae3"), Style.WHITE)); + STYLES.put("SS35", new Style(Shape.RECT, Style.parseColor("#81c0eb"), Style.WHITE)); + STYLES.put("SS40", new Style(Shape.RECT, Style.parseColor("#ae90cf"), Style.WHITE)); + STYLES.put("SS41", new Style(Shape.RECT, Style.parseColor("#f89a83"), Style.WHITE)); + STYLES.put("SS55", new Style(Shape.RECT, Style.parseColor("#905723"), Style.WHITE)); // Tram - LINES.put("T2", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); - LINES.put("T3", new Style(Shape.RECT, Style.parseColor("#19ae48"), Style.WHITE)); - LINES.put("T4", new Style(Shape.RECT, Style.parseColor("#453fa0"), Style.WHITE)); - LINES.put("T5", new Style(Shape.RECT, Style.parseColor("#8c5a2c"), Style.WHITE)); - LINES.put("T6", new Style(Shape.RECT, Style.parseColor("#d6973c"), Style.WHITE)); - LINES.put("T7", new Style(Shape.RECT, Style.parseColor("#231f20"), Style.WHITE)); - LINES.put("T8", new Style(Shape.RECT, Style.parseColor("#99d420"), Style.BLACK)); - LINES.put("T9", new Style(Shape.RECT, Style.parseColor("#453fa0"), Style.WHITE)); - LINES.put("T10", new Style(Shape.RECT, Style.parseColor("#ee1998"), Style.WHITE)); - LINES.put("T11", new Style(Shape.RECT, Style.parseColor("#19ae48"), Style.WHITE)); - LINES.put("T12", new Style(Shape.RECT, Style.parseColor("#85d7e3"), Style.BLACK)); - LINES.put("T13", new Style(Shape.RECT, Style.parseColor("#fdd205"), Style.BLACK)); - LINES.put("T14", new Style(Shape.RECT, Style.parseColor("#2cbbf2"), Style.WHITE)); - LINES.put("T15", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); - LINES.put("T17", new Style(Shape.RECT, Style.parseColor("#9e1a6e"), Style.WHITE)); + STYLES.put("T2", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); + STYLES.put("T3", new Style(Shape.RECT, Style.parseColor("#19ae48"), Style.WHITE)); + STYLES.put("T4", new Style(Shape.RECT, Style.parseColor("#453fa0"), Style.WHITE)); + STYLES.put("T5", new Style(Shape.RECT, Style.parseColor("#8c5a2c"), Style.WHITE)); + STYLES.put("T6", new Style(Shape.RECT, Style.parseColor("#d6973c"), Style.WHITE)); + STYLES.put("T7", new Style(Shape.RECT, Style.parseColor("#231f20"), Style.WHITE)); + STYLES.put("T8", new Style(Shape.RECT, Style.parseColor("#99d420"), Style.BLACK)); + STYLES.put("T9", new Style(Shape.RECT, Style.parseColor("#453fa0"), Style.WHITE)); + STYLES.put("T10", new Style(Shape.RECT, Style.parseColor("#ee1998"), Style.WHITE)); + STYLES.put("T11", new Style(Shape.RECT, Style.parseColor("#19ae48"), Style.WHITE)); + STYLES.put("T12", new Style(Shape.RECT, Style.parseColor("#85d7e3"), Style.BLACK)); + STYLES.put("T13", new Style(Shape.RECT, Style.parseColor("#fdd205"), Style.BLACK)); + STYLES.put("T14", new Style(Shape.RECT, Style.parseColor("#2cbbf2"), Style.WHITE)); + STYLES.put("T15", new Style(Shape.RECT, Style.parseColor("#ed1c24"), Style.WHITE)); + STYLES.put("T17", new Style(Shape.RECT, Style.parseColor("#9e1a6e"), Style.WHITE)); // Bus/Trolley - LINES.put("B31", new Style(Shape.RECT, Style.parseColor("#999bd3"), Style.WHITE)); - LINES.put("B32", new Style(Shape.RECT, Style.parseColor("#d8a1d6"), Style.BLACK)); - LINES.put("B33", new Style(Shape.RECT, Style.parseColor("#e4e793"), Style.BLACK)); - } - - @Override - public Style lineStyle(final String line) - { - final Style style = LINES.get(line); - if (style != null) - return style; - else - return super.lineStyle(line); + STYLES.put("B31", new Style(Shape.RECT, Style.parseColor("#999bd3"), Style.WHITE)); + STYLES.put("B32", new Style(Shape.RECT, Style.parseColor("#d8a1d6"), Style.BLACK)); + STYLES.put("B33", new Style(Shape.RECT, Style.parseColor("#e4e793"), Style.BLACK)); } }