From 8b72c7cafe59c5d1f3add7f00ac4a92ee0f9fd23 Mon Sep 17 00:00:00 2001 From: "andreas.schildbach@gmail.com" Date: Sun, 30 Jan 2011 15:10:16 +0000 Subject: [PATCH] hasLocation() convenience methods git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@474 0924bc21-9374-b0fa-ee44-9ff1593b38f0 --- src/de/schildbach/pte/AbstractEfaProvider.java | 2 +- src/de/schildbach/pte/AbstractHafasProvider.java | 8 ++++---- src/de/schildbach/pte/BvgProvider.java | 2 +- src/de/schildbach/pte/dto/Location.java | 5 +++++ src/de/schildbach/pte/dto/Station.java | 9 +++++++-- 5 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/de/schildbach/pte/AbstractEfaProvider.java b/src/de/schildbach/pte/AbstractEfaProvider.java index 1c7a2fc4..0c38a56f 100644 --- a/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/src/de/schildbach/pte/AbstractEfaProvider.java @@ -1476,7 +1476,7 @@ public abstract class AbstractEfaProvider implements NetworkProvider protected void appendLocation(final StringBuilder uri, final Location location, final String paramSuffix) { - if ((location.type == LocationType.POI || location.type == LocationType.ADDRESS) && location.lat != 0 && location.lon != 0) + if ((location.type == LocationType.POI || location.type == LocationType.ADDRESS) && location.hasLocation()) { uri.append("&type_").append(paramSuffix).append("=coord"); uri.append("&name_").append(paramSuffix).append("=") diff --git a/src/de/schildbach/pte/AbstractHafasProvider.java b/src/de/schildbach/pte/AbstractHafasProvider.java index 4a003dd0..8bea9887 100644 --- a/src/de/schildbach/pte/AbstractHafasProvider.java +++ b/src/de/schildbach/pte/AbstractHafasProvider.java @@ -550,9 +550,9 @@ public abstract class AbstractHafasProvider implements NetworkProvider { if (location.type == LocationType.STATION && location.id != 0) return ""; - if (location.type == LocationType.POI && (location.lat != 0 || location.lon != 0)) + if (location.type == LocationType.POI && location.hasLocation()) return ""; - if (location.type == LocationType.ADDRESS && (location.lat != 0 || location.lon != 0)) + if (location.type == LocationType.ADDRESS && location.hasLocation()) return "
"; throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); @@ -562,7 +562,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider { final StringBuilder builder = new StringBuilder(); builder.append("A=").append(locationType(location)); - if (location.lat != 0 || location.lon != 0) + if (location.hasLocation()) builder.append("@X=" + location.lon + "@Y=" + location.lat); if (location.name != null) builder.append("@G=" + location.name); @@ -577,7 +577,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider return 1; if (location.type == LocationType.POI) return 4; - if (location.type == LocationType.ADDRESS && (location.lat != 0 || location.lon != 0)) + if (location.type == LocationType.ADDRESS && location.hasLocation()) return 16; if (location.type == LocationType.ADDRESS && location.name != null) return 2; diff --git a/src/de/schildbach/pte/BvgProvider.java b/src/de/schildbach/pte/BvgProvider.java index f4db7b1a..bc24013d 100644 --- a/src/de/schildbach/pte/BvgProvider.java +++ b/src/de/schildbach/pte/BvgProvider.java @@ -253,7 +253,7 @@ public final class BvgProvider extends AbstractHafasProvider private static final void appendLocationBvg(final StringBuilder uri, final Location location, final String paramSuffix, final String paramWgs) { - if (location.type == LocationType.ADDRESS && location.lat != 0 && location.lon != 0 && paramWgs != null) + if (location.type == LocationType.ADDRESS && location.hasLocation() && paramWgs != null) { uri.append("&").append(paramWgs).append("=").append(ParserUtils.urlEncode("A=16@X=" + location.lon + "@Y=" + location.lat)); } diff --git a/src/de/schildbach/pte/dto/Location.java b/src/de/schildbach/pte/dto/Location.java index 10c057f3..f884b976 100644 --- a/src/de/schildbach/pte/dto/Location.java +++ b/src/de/schildbach/pte/dto/Location.java @@ -70,6 +70,11 @@ public final class Location implements Serializable this.name = null; } + public final boolean hasLocation() + { + return lat != 0 || lon != 0; + } + @Override public String toString() { diff --git a/src/de/schildbach/pte/dto/Station.java b/src/de/schildbach/pte/dto/Station.java index aa5f5086..ffeaefc7 100644 --- a/src/de/schildbach/pte/dto/Station.java +++ b/src/de/schildbach/pte/dto/Station.java @@ -32,8 +32,8 @@ public final class Station public final String[] lines; public final int[][] lineColors; - public Station(final int id, final String place, final String name, final String longName, final int latitude, final int longitude, final float distance, - final String[] lines, final int[][] lineColors) + public Station(final int id, final String place, final String name, final String longName, final int latitude, final int longitude, + final float distance, final String[] lines, final int[][] lineColors) { this.id = id; this.place = place; @@ -46,6 +46,11 @@ public final class Station this.lineColors = lineColors; } + public final boolean hasLocation() + { + return latitude != 0 || longitude != 0; + } + @Override public String toString() {