hasLocation() convenience methods

git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@474 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
andreas.schildbach@gmail.com 2011-01-30 15:10:16 +00:00
parent 2cc93f99bd
commit 8b72c7cafe
5 changed files with 18 additions and 8 deletions

View file

@ -1476,7 +1476,7 @@ public abstract class AbstractEfaProvider implements NetworkProvider
protected void appendLocation(final StringBuilder uri, final Location location, final String paramSuffix) 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("&type_").append(paramSuffix).append("=coord");
uri.append("&name_").append(paramSuffix).append("=") uri.append("&name_").append(paramSuffix).append("=")

View file

@ -550,9 +550,9 @@ public abstract class AbstractHafasProvider implements NetworkProvider
{ {
if (location.type == LocationType.STATION && location.id != 0) if (location.type == LocationType.STATION && location.id != 0)
return "<Station externalId=\"" + location.id + "\" />"; return "<Station externalId=\"" + location.id + "\" />";
if (location.type == LocationType.POI && (location.lat != 0 || location.lon != 0)) if (location.type == LocationType.POI && location.hasLocation())
return "<Poi type=\"WGS84\" x=\"" + location.lon + "\" y=\"" + location.lat + "\" />"; return "<Poi type=\"WGS84\" x=\"" + location.lon + "\" y=\"" + location.lat + "\" />";
if (location.type == LocationType.ADDRESS && (location.lat != 0 || location.lon != 0)) if (location.type == LocationType.ADDRESS && location.hasLocation())
return "<Address type=\"WGS84\" x=\"" + location.lon + "\" y=\"" + location.lat + "\" />"; return "<Address type=\"WGS84\" x=\"" + location.lon + "\" y=\"" + location.lat + "\" />";
throw new IllegalArgumentException("cannot handle: " + location.toDebugString()); throw new IllegalArgumentException("cannot handle: " + location.toDebugString());
@ -562,7 +562,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider
{ {
final StringBuilder builder = new StringBuilder(); final StringBuilder builder = new StringBuilder();
builder.append("A=").append(locationType(location)); builder.append("A=").append(locationType(location));
if (location.lat != 0 || location.lon != 0) if (location.hasLocation())
builder.append("@X=" + location.lon + "@Y=" + location.lat); builder.append("@X=" + location.lon + "@Y=" + location.lat);
if (location.name != null) if (location.name != null)
builder.append("@G=" + location.name); builder.append("@G=" + location.name);
@ -577,7 +577,7 @@ public abstract class AbstractHafasProvider implements NetworkProvider
return 1; return 1;
if (location.type == LocationType.POI) if (location.type == LocationType.POI)
return 4; return 4;
if (location.type == LocationType.ADDRESS && (location.lat != 0 || location.lon != 0)) if (location.type == LocationType.ADDRESS && location.hasLocation())
return 16; return 16;
if (location.type == LocationType.ADDRESS && location.name != null) if (location.type == LocationType.ADDRESS && location.name != null)
return 2; return 2;

View file

@ -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) 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)); uri.append("&").append(paramWgs).append("=").append(ParserUtils.urlEncode("A=16@X=" + location.lon + "@Y=" + location.lat));
} }

View file

@ -70,6 +70,11 @@ public final class Location implements Serializable
this.name = null; this.name = null;
} }
public final boolean hasLocation()
{
return lat != 0 || lon != 0;
}
@Override @Override
public String toString() public String toString()
{ {

View file

@ -32,8 +32,8 @@ public final class Station
public final String[] lines; public final String[] lines;
public final int[][] lineColors; 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, public Station(final int id, final String place, final String name, final String longName, final int latitude, final int longitude,
final String[] lines, final int[][] lineColors) final float distance, final String[] lines, final int[][] lineColors)
{ {
this.id = id; this.id = id;
this.place = place; this.place = place;
@ -46,6 +46,11 @@ public final class Station
this.lineColors = lineColors; this.lineColors = lineColors;
} }
public final boolean hasLocation()
{
return latitude != 0 || longitude != 0;
}
@Override @Override
public String toString() public String toString()
{ {