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.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import de.schildbach.pte.dto.Connection;
import de.schildbach.pte.dto.GetConnectionDetailsResult; import de.schildbach.pte.dto.GetConnectionDetailsResult;
import de.schildbach.pte.dto.Point; import de.schildbach.pte.dto.Point;
import de.schildbach.pte.dto.Style; import de.schildbach.pte.dto.Style;
@ -44,7 +45,7 @@ public abstract class AbstractNetworkProvider implements NetworkProvider
return null; return null;
} }
public GetConnectionDetailsResult getConnectionDetails(final String connectionUri) throws IOException public GetConnectionDetailsResult getConnectionDetails(final Connection connection) throws IOException
{ {
throw new UnsupportedOperationException(); 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"); .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 @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 CharSequence page = ParserUtils.scrape(uri);
final Matcher mError = P_CONNECTION_DETAILS_ERROR.matcher(page); 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.Date;
import java.util.List; import java.util.List;
import de.schildbach.pte.dto.Connection;
import de.schildbach.pte.dto.GetConnectionDetailsResult; import de.schildbach.pte.dto.GetConnectionDetailsResult;
import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.NearbyStationsResult; import de.schildbach.pte.dto.NearbyStationsResult;
@ -145,12 +146,12 @@ public interface NetworkProvider
/** /**
* Get details about a connection * Get details about a connection
* *
* @param connectionUri * @param connection
* uri returned via {@link NetworkProvider#queryConnections} * (non-detailed) connection returned via {@link NetworkProvider#queryConnections}
* @return result object containing the details of the connection * @return result object containing the details of the connection
* @throws IOException * @throws IOException
*/ */
GetConnectionDetailsResult getConnectionDetails(String connectionUri) throws IOException; GetConnectionDetailsResult getConnectionDetails(Connection connection) throws IOException;
/** /**
* Get style of line * Get style of line

View file

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