Preparations for 1.1.0

This commit is contained in:
Stefan Kalscheuer 2017-01-07 18:49:27 +01:00
parent d7f6c34fc0
commit 5a93a54c64
3 changed files with 45 additions and 21 deletions

View File

@ -1,46 +1,64 @@
jURAclient [![Build status](https://travis-ci.org/stklcode/juraclient.svg?branch=master)](https://travis-ci.org/stklcode/juraclient)
==========
# jURAclient [![Build status](https://travis-ci.org/stklcode/juraclient.svg?branch=master)](https://travis-ci.org/stklcode/juraclient)
Java client for URA based public transport APIs.
This client allows to simply connect any Java application to the public transport API to implement a monitor for the
local bus station or any other custom queries.
local bus station or any other custom queries. API versions 1.x and 2.x are supported.
**Usage Example**
## Usage Examples
### Initialization
```java
// Instantiate the client (e.g. using the ASEAG API)
UraClient ura = new UraClient("http://ivu.aseag.de");
// Instantiate the client (e.g. using the TFL API)
UraClient ura = new UraClient("http://countdown.api.tfl.gov.uk");
// Initiailize with non-standard endpoints
// Initiailize the API with non-standard endpoints (e.g. ASEAG with API V2)
UraClient ura = new UraClient("http://ivu.aseag.de",
"interfaces/ura/instant_V2",
"interfaces/ura/stream_V2");
// List available stops
List<Stop> stops = ura.listStops();
// Get next 10 trips for given stops and lines (all filters optional)
List<Trip> trips = ura.forStop("100000")
.forLines("25", "35")
.getTrips(10);
```
**Maven Artifact**
### List Stops
```java
// List ALL available stops
List<Stop> stops = ura.getStops();
// List available stops in a 200m radius around given coordinates
List<Stop> stops = ura.forPosition(51.51009, -0.1345734, 200)
.getStops();
```
### Get Trips
```java
// Get next 10 trips for given stops and lines in a single direction (all filters optional)
List<Trip> trips = ura.forStop("100000")
.forLines("25", "35")
.forDirection(1)
.getTrips(10);
// Get trips from given stop towards your destination
List<Trip> trips = ura.forStopByName("Piccadilly Circus")
.towards("Marble Arch")
.getTrips();
```
## Maven Artifact
```
<dependency>
<groupId>de.stklcode.pubtrans</groupId>
<artifactId>juraclient</artifactId>
<version>1.0.0</version>
<version>1.1.0</version>
</dependency>
```
**Planned features:**
## Planned Features
* More refined query parameters
* Stream API with asynchronous consumer
**License**
## License
The project is licensed under [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0).

View File

@ -6,7 +6,7 @@
<groupId>de.stklcode.pubtrans</groupId>
<artifactId>juraclient</artifactId>
<version>1.1.0-SNAPSHOT</version>
<version>1.1.0</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

View File

@ -145,6 +145,7 @@ public class UraClient {
*
* @param destinationNames destination names
* @return the request
* @since 1.1.0
*/
public Query forDestinationNames(final String... destinationNames) {
return new Query().forDestinationNames(destinationNames);
@ -155,6 +156,7 @@ public class UraClient {
*
* @param towards towards stop point names
* @return the request
* @since 1.1.0
*/
public Query towards(final String... towards) {
return new Query().towards(towards);
@ -167,6 +169,7 @@ public class UraClient {
* @param longitude Longitude (WGS84)
* @param radius Search radius (meters)
* @return the request
* @since 1.1.0
*/
public Query forPosition(final Double latitude, final Double longitude, final Integer radius) {
return new Query().forPosition(latitude, longitude, radius);
@ -370,6 +373,7 @@ public class UraClient {
*
* @param destinationNames names of destinations
* @return the query
* @since 1.1.0
*/
public Query forDestinationNames(final String... destinationNames) {
this.destinationNames = destinationNames;
@ -381,6 +385,7 @@ public class UraClient {
*
* @param towards towards stop point names
* @return the request
* @since 1.1.0
*/
public Query towards(final String... towards) {
this.towards = towards;
@ -394,6 +399,7 @@ public class UraClient {
* @param longitude Longitude (WGS84)
* @param radius Search radius (meters)
* @return the query
* @since 1.1.0
*/
public Query forPosition(final Double latitude, final Double longitude, final Integer radius) {
this.circle = latitude.toString() + "," + longitude.toString() + "," + radius.toString();