getConnectionDetails() takes Connection rather than uri

This commit is contained in:
Andreas Schildbach 2012-06-13 17:47:03 +02:00
parent 18d42d7ae8
commit 6b92277180
4 changed files with 12 additions and 8 deletions

View file

@ -20,6 +20,7 @@ package de.schildbach.pte;
import java.io.IOException;
import java.nio.charset.Charset;
import de.schildbach.pte.dto.Connection;
import de.schildbach.pte.dto.GetConnectionDetailsResult;
import de.schildbach.pte.dto.Point;
import de.schildbach.pte.dto.Style;
@ -44,7 +45,7 @@ public abstract class AbstractNetworkProvider implements NetworkProvider
return null;
}
public GetConnectionDetailsResult getConnectionDetails(final String connectionUri) throws IOException
public GetConnectionDetailsResult getConnectionDetails(final Connection connection) throws IOException
{
throw new UnsupportedOperationException();
}

View file

@ -426,8 +426,10 @@ public final class BahnProvider extends AbstractHafasProvider
.compile("<div class=\"him\">|Dauer: \\d+:\\d+|Anschlusszug nicht mehr rechtzeitig|Anschlusszug jedoch erreicht werden|nur teilweise dargestellt|L&#228;ngerer Aufenthalt|&#228;quivalentem Bahnhof|Bahnhof wird mehrfach durchfahren|Aktuelle Informationen zu der Verbindung");
@Override
public GetConnectionDetailsResult getConnectionDetails(final String uri) throws IOException
public GetConnectionDetailsResult getConnectionDetails(final Connection connection) throws IOException
{
final String uri = connection.link;
final CharSequence page = ParserUtils.scrape(uri);
final Matcher mError = P_CONNECTION_DETAILS_ERROR.matcher(page);

View file

@ -21,6 +21,7 @@ import java.io.IOException;
import java.util.Date;
import java.util.List;
import de.schildbach.pte.dto.Connection;
import de.schildbach.pte.dto.GetConnectionDetailsResult;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.NearbyStationsResult;
@ -145,12 +146,12 @@ public interface NetworkProvider
/**
* Get details about a connection
*
* @param connectionUri
* uri returned via {@link NetworkProvider#queryConnections}
* @param connection
* (non-detailed) connection returned via {@link NetworkProvider#queryConnections}
* @return result object containing the details of the connection
* @throws IOException
*/
GetConnectionDetailsResult getConnectionDetails(String connectionUri) throws IOException;
GetConnectionDetailsResult getConnectionDetails(Connection connection) throws IOException;
/**
* Get style of line

View file

@ -90,7 +90,7 @@ public class BahnProviderLiveTest extends AbstractProviderLiveTest
System.out.println(result);
final QueryConnectionsResult laterResult = queryMoreConnections(result.context, true);
for (final Connection connection : result.connections)
provider.getConnectionDetails(connection.link);
provider.getConnectionDetails(connection);
System.out.println(laterResult);
final QueryConnectionsResult later2Result = queryMoreConnections(laterResult.context, true);
System.out.println(later2Result);
@ -109,7 +109,7 @@ public class BahnProviderLiveTest extends AbstractProviderLiveTest
System.out.println(result);
final QueryConnectionsResult laterResult = queryMoreConnections(result.context, true);
for (final Connection connection : result.connections)
provider.getConnectionDetails(connection.link);
provider.getConnectionDetails(connection);
System.out.println(laterResult);
}
@ -123,7 +123,7 @@ public class BahnProviderLiveTest extends AbstractProviderLiveTest
final QueryConnectionsResult laterResult = queryMoreConnections(result.context, true);
for (final Connection connection : result.connections)
provider.getConnectionDetails(connection.link);
provider.getConnectionDetails(connection);
System.out.println(laterResult);
}
}