moved 'canAcceptPoiID' from redundant code to provider parameter

git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@579 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
andreas.schildbach@gmail.com 2011-04-29 12:15:14 +00:00
parent 2486f3f0a6
commit 36059cc37e
5 changed files with 21 additions and 37 deletions

View file

@ -67,6 +67,7 @@ public abstract class AbstractEfaProvider implements NetworkProvider
{
private final String apiBase;
private final String additionalQueryParameter;
private final boolean canAcceptPoiID;
private final XmlPullParserFactory parserFactory;
public AbstractEfaProvider()
@ -75,6 +76,11 @@ public abstract class AbstractEfaProvider implements NetworkProvider
}
public AbstractEfaProvider(final String apiBase, final String additionalQueryParameter)
{
this(apiBase, additionalQueryParameter, false);
}
public AbstractEfaProvider(final String apiBase, final String additionalQueryParameter, final boolean canAcceptPoiID)
{
try
{
@ -87,6 +93,7 @@ public abstract class AbstractEfaProvider implements NetworkProvider
this.apiBase = apiBase;
this.additionalQueryParameter = additionalQueryParameter;
this.canAcceptPoiID = canAcceptPoiID;
}
protected TimeZone timeZone()
@ -410,16 +417,16 @@ public abstract class AbstractEfaProvider implements NetworkProvider
type = LocationType.STATION;
id = Integer.parseInt(stopIdStr);
}
else if (stopIdStr == null && idStr == null && (lat != 0 || lon != 0))
{
type = LocationType.ADDRESS;
id = 0;
}
else if (poiIdStr != null)
{
type = LocationType.POI;
id = Integer.parseInt(poiIdStr);
}
else if (stopIdStr == null && idStr == null && (lat != 0 || lon != 0))
{
type = LocationType.ADDRESS;
id = 0;
}
else if (streetIdStr != null)
{
type = LocationType.ADDRESS;
@ -1888,7 +1895,12 @@ 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.hasLocation())
if (canAcceptPoiID && location.type == LocationType.POI && location.hasId())
{
uri.append("&type_").append(paramSuffix).append("=poiID");
uri.append("&name_").append(paramSuffix).append("=").append(location.id);
}
else if ((location.type == LocationType.POI || location.type == LocationType.ADDRESS) && location.hasLocation())
{
uri.append("&type_").append(paramSuffix).append("=coord");
uri.append("&name_").append(paramSuffix).append("=")

View file

@ -38,7 +38,7 @@ public class MvvProvider extends AbstractEfaProvider
public MvvProvider()
{
super(API_BASE, null);
super(API_BASE, null, false);
}
public NetworkId id()

View file

@ -67,18 +67,4 @@ public class VmvProvider extends AbstractEfaProvider
{
return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1"));
}
@Override
protected void appendLocation(final StringBuilder uri, final Location location, final String paramSuffix)
{
if (location.type == LocationType.POI && location.hasId())
{
uri.append("&type_").append(paramSuffix).append("=poiID");
uri.append("&name_").append(paramSuffix).append("=").append(location.id);
}
else
{
super.appendLocation(uri, location, paramSuffix);
}
}
}

View file

@ -38,7 +38,7 @@ public class VrrProvider extends AbstractEfaProvider
public VrrProvider()
{
super(API_BASE, null);
super(API_BASE, null, false);
}
public NetworkId id()

View file

@ -35,7 +35,7 @@ public class VvsProvider extends AbstractEfaProvider
public VvsProvider()
{
super(API_BASE, null);
super(API_BASE, null, true);
}
public NetworkId id()
@ -67,18 +67,4 @@ public class VvsProvider extends AbstractEfaProvider
{
return String.format(NEARBY_STATION_URI, ParserUtils.urlEncode(stationId, "ISO-8859-1"));
}
@Override
protected void appendLocation(final StringBuilder uri, final Location location, final String paramSuffix)
{
if (location.type == LocationType.POI && location.hasId())
{
uri.append("&type_").append(paramSuffix).append("=poiID");
uri.append("&name_").append(paramSuffix).append("=").append(location.id);
}
else
{
super.appendLocation(uri, location, paramSuffix);
}
}
}