mirror of
https://gitlab.com/oeffi/public-transport-enabler.git
synced 2025-07-15 09:00:36 +00:00
preparation for consolidation of connectionsQueryUri() and checkConnectionsQuery()
git-svn-id: https://public-transport-enabler.googlecode.com/svn/trunk@36 0924bc21-9374-b0fa-ee44-9ff1593b38f0
This commit is contained in:
parent
8a67ce69dd
commit
8e2786cb7e
5 changed files with 20 additions and 31 deletions
|
@ -158,9 +158,9 @@ public final class BahnProvider implements NetworkProvider
|
|||
private static final Pattern P_CHECK_CONNECTIONS_ERROR = Pattern
|
||||
.compile("(?:(zu dicht beieinander|mehrfach vorhanden oder identisch)|(leider konnte zu Ihrer Anfrage keine Verbindung gefunden werden))");
|
||||
|
||||
public CheckConnectionsQueryResult checkConnectionsQuery(final String uri) throws IOException
|
||||
public CheckConnectionsQueryResult checkConnectionsQuery(final String queryUri) throws IOException
|
||||
{
|
||||
final CharSequence page = ParserUtils.scrape(uri);
|
||||
final CharSequence page = ParserUtils.scrape(queryUri);
|
||||
|
||||
final Matcher mError = P_CHECK_CONNECTIONS_ERROR.matcher(page);
|
||||
if (mError.find())
|
||||
|
@ -201,13 +201,9 @@ public final class BahnProvider implements NetworkProvider
|
|||
}
|
||||
|
||||
if (fromAddresses != null || viaAddresses != null || toAddresses != null)
|
||||
{
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, fromAddresses, viaAddresses, toAddresses);
|
||||
}
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, queryUri, fromAddresses, viaAddresses, toAddresses);
|
||||
else
|
||||
{
|
||||
return CheckConnectionsQueryResult.OK;
|
||||
}
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.OK, queryUri, null, null, null);
|
||||
}
|
||||
|
||||
private static final Pattern P_CONNECTIONS_HEAD = Pattern.compile(".*" //
|
||||
|
|
|
@ -29,19 +29,20 @@ public final class CheckConnectionsQueryResult
|
|||
OK, AMBIGUOUS, TOO_CLOSE, NO_CONNECTIONS;
|
||||
}
|
||||
|
||||
public static final CheckConnectionsQueryResult OK = new CheckConnectionsQueryResult(Status.OK, null, null, null);
|
||||
public static final CheckConnectionsQueryResult TOO_CLOSE = new CheckConnectionsQueryResult(Status.TOO_CLOSE, null, null, null);
|
||||
public static final CheckConnectionsQueryResult NO_CONNECTIONS = new CheckConnectionsQueryResult(Status.NO_CONNECTIONS, null, null, null);
|
||||
public static final CheckConnectionsQueryResult TOO_CLOSE = new CheckConnectionsQueryResult(Status.TOO_CLOSE, null, null, null, null);
|
||||
public static final CheckConnectionsQueryResult NO_CONNECTIONS = new CheckConnectionsQueryResult(Status.NO_CONNECTIONS, null, null, null, null);
|
||||
|
||||
public final Status status;
|
||||
public final String queryUri;
|
||||
public final List<String> ambiguousFromAddresses;
|
||||
public final List<String> ambiguousViaAddresses;
|
||||
public final List<String> ambiguousToAddresses;
|
||||
|
||||
public CheckConnectionsQueryResult(final Status status, final List<String> ambiguousFromAddresses, final List<String> ambiguousViaAddresses,
|
||||
final List<String> ambiguousToAddresses)
|
||||
public CheckConnectionsQueryResult(final Status status, final String queryUri, final List<String> ambiguousFromAddresses,
|
||||
final List<String> ambiguousViaAddresses, final List<String> ambiguousToAddresses)
|
||||
{
|
||||
this.status = status;
|
||||
this.queryUri = queryUri;
|
||||
this.ambiguousFromAddresses = ambiguousFromAddresses;
|
||||
this.ambiguousViaAddresses = ambiguousViaAddresses;
|
||||
this.ambiguousToAddresses = ambiguousToAddresses;
|
||||
|
|
|
@ -222,13 +222,9 @@ public class MvvProvider implements NetworkProvider
|
|||
}
|
||||
|
||||
if (fromAddresses != null || viaAddresses != null || toAddresses != null)
|
||||
{
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, fromAddresses, viaAddresses, toAddresses);
|
||||
}
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, queryUri, fromAddresses, viaAddresses, toAddresses);
|
||||
else
|
||||
{
|
||||
return CheckConnectionsQueryResult.OK;
|
||||
}
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.OK, queryUri, null, null, null);
|
||||
}
|
||||
|
||||
private static final Pattern P_CONNECTIONS_HEAD = Pattern.compile(".*<b>Von:[\\xa0\\s]+</b>(.+?)<br />[\\xa0\\s]+"
|
||||
|
|
|
@ -204,13 +204,9 @@ public class RmvProvider implements NetworkProvider
|
|||
}
|
||||
|
||||
if (fromAddresses != null || viaAddresses != null || toAddresses != null)
|
||||
{
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, fromAddresses, viaAddresses, toAddresses);
|
||||
}
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, queryUri, fromAddresses, viaAddresses, toAddresses);
|
||||
else
|
||||
{
|
||||
return CheckConnectionsQueryResult.OK;
|
||||
}
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.OK, queryUri, null, null, null);
|
||||
}
|
||||
|
||||
private static final Pattern P_CONNECTIONS_HEAD = Pattern.compile(".*" //
|
||||
|
|
|
@ -135,9 +135,9 @@ public final class VbbProvider implements NetworkProvider
|
|||
private static final Pattern P_CHECK_TO = Pattern.compile("Nach:");
|
||||
private static final Pattern P_CHECK_CONNECTIONS_ERROR = Pattern.compile("(zu dicht beieinander)|(keine Verbindung gefunden)");
|
||||
|
||||
public CheckConnectionsQueryResult checkConnectionsQuery(final String uri) throws IOException
|
||||
public CheckConnectionsQueryResult checkConnectionsQuery(final String queryUri) throws IOException
|
||||
{
|
||||
final CharSequence page = ParserUtils.scrape(uri);
|
||||
final CharSequence page = ParserUtils.scrape(queryUri);
|
||||
|
||||
final Matcher mError = P_CHECK_CONNECTIONS_ERROR.matcher(page);
|
||||
if (mError.find())
|
||||
|
@ -160,18 +160,18 @@ public final class VbbProvider implements NetworkProvider
|
|||
|
||||
if (addresses.isEmpty())
|
||||
{
|
||||
return CheckConnectionsQueryResult.OK;
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.OK, queryUri, null, null, null);
|
||||
}
|
||||
else if (P_CHECK_FROM.matcher(page).find())
|
||||
{
|
||||
if (P_CHECK_TO.matcher(page).find())
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, null, addresses, null);
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, queryUri, null, addresses, null);
|
||||
else
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, null, null, addresses);
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, queryUri, null, null, addresses);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, addresses, null, null);
|
||||
return new CheckConnectionsQueryResult(CheckConnectionsQueryResult.Status.AMBIGUOUS, queryUri, addresses, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue