From 1a0d9b18afee620e3f7d6a494632cac1a5abc905 Mon Sep 17 00:00:00 2001 From: Denys Vitali Date: Mon, 11 Jun 2018 02:29:02 +0200 Subject: [PATCH] Faster JSON parsing (up to 10x faster!) --- build.gradle | 24 ++-- gradle/wrapper/gradle-wrapper.jar | Bin 54329 -> 54413 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- .../optitravel/api/GTFS_rs/GTFSrsWrapper.java | 122 +++++++++++++++--- .../api/GTFS_rs/models/PaginatedList.java | 12 ++ .../optitravel/api/GTFS_rs/models/Stop.java | 28 ++++ .../api/GTFS_rs/models/StopTimes.java | 3 + .../api/GTFS_rs/{api => models}/StopTrip.java | 26 +++- .../optitravel/api/GTFS_rs/models/Trip.java | 9 +- .../api/GTFS_rs/models/TripTimeStop.java | 6 + .../shrug/optitravel/codegen/CGConfig.java | 53 ++++++++ .../optitravel/api/GTFS_rs/StopDistance.java | 23 ++++ .../optitravel/api/GTFS_rs/api/Error.java | 50 +++++++ .../optitravel/api/GTFS_rs/api/Meta.java | 55 ++++++++ .../optitravel/api/GTFS_rs/api/Result.java | 50 +++++++ .../api/GTFS_rs/api/ResultArray.java | 50 +++++++ .../api/GTFS_rs/api/models/Pagination.java | 50 +++++++ .../api/GTFS_rs/models/DropOff.java | 111 ++++++++++++++++ .../optitravel/api/GTFS_rs/models/PickUp.java | 111 ++++++++++++++++ .../api/GTFS_rs/models/StopTimes.java | 23 ++++ .../api/GTFS_rs/models/TripTimeStop.java | 55 ++++++++ .../cfg1524563512/decoder/int_array.java | 60 +++++++++ .../java/util/List_java/lang/Integer.java | 42 ++++++ .../lang/String_java/lang/Object.java | 17 +++ .../optitravel/api/GTFS_rs/StopDistance.java | 18 +++ .../optitravel/api/GTFS_rs/api/Error.java | 16 +++ .../optitravel/api/GTFS_rs/api/Meta.java | 24 ++++ .../optitravel/api/GTFS_rs/api/Result.java | 22 ++++ .../api/GTFS_rs/api/ResultArray.java | 22 ++++ .../api/GTFS_rs/api/models/Pagination.java | 14 ++ .../api/GTFS_rs/models/DropOff.java | 13 ++ .../optitravel/api/GTFS_rs/models/PickUp.java | 13 ++ .../optitravel/api/GTFS_rs/models/Stop.java | 36 ++++++ .../api/GTFS_rs/models/StopTimes.java | 20 +++ .../api/GTFS_rs/models/TripTimeStop.java | 28 ++++ .../optitravel/geography/Coordinate.java | 14 ++ .../dti/i2b/shrug/optitravel/models/Stop.java | 28 ++++ .../dti/i2b/shrug/optitravel/models/Time.java | 16 +++ .../encoder/com/jsoniter/any/Any.java | 10 ++ .../cfg1524563512/encoder/int_array.java | 21 +++ .../api/GTFS_rs/models/TripTimeStop.java | 29 +++++ .../java/util/List_java/lang/Integer.java | 25 ++++ .../lang/String_java/lang/Object.java | 30 +++++ .../optitravel/api/GTFS_rs/GTFSrsTest.java | 25 +++- 44 files changed, 1364 insertions(+), 43 deletions(-) rename src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/{api => models}/StopTrip.java (72%) create mode 100644 src/main/ch/supsi/dti/i2b/shrug/optitravel/codegen/CGConfig.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/StopDistance.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Error.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Meta.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Result.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/ResultArray.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/models/Pagination.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/DropOff.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PickUp.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/int_array.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/java/util/List_java/lang/Integer.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/decoder/java/util/Map_java/lang/String_java/lang/Object.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/StopDistance.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Error.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Meta.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Result.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/ResultArray.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/models/Pagination.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/DropOff.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PickUp.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Stop.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/geography/Coordinate.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/models/Stop.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/models/Time.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/com/jsoniter/any/Any.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/int_array.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/List_ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/List_java/lang/Integer.java create mode 100644 src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/Map_java/lang/String_java/lang/Object.java diff --git a/build.gradle b/build.gradle index be94f20..7725e0c 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ apply plugin: 'idea' apply plugin: 'java' apply plugin: 'application' apply plugin: 'com.github.johnrengelman.shadow' -apply plugin: 'javafx-gradle-plugin' +//apply plugin: 'javafx-gradle-plugin' mainClassName = "ch.supsi.dti.i2b.shrug.optitravel.Main"; @@ -35,9 +35,11 @@ dependencies { testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}") implementation 'com.squareup.okhttp3:okhttp:3.10.0' compile 'com.lynden:GMapsFX:2.12.0' + compile 'ca.fuzzlesoft:json-parse:1.3.4' compile 'com.jsoniter:jsoniter:0.9.19' -// compile 'com.jfoenix:jfoenix:8.0.3' // Java 8 + //compile 'com.jfoenix:jfoenix:8.0.3' // Java 8 compile 'com.jfoenix:jfoenix:9.0.3' // Java 9 + compile group: 'org.javassist', name: 'javassist', version: '3.22.0-GA' compile group: 'de.jensd', name: 'fontawesomefx-materialicons', version: '2.2.0-9.1.2' } @@ -78,23 +80,23 @@ jar { } -jfx { - // minimal requirement for jfxJar-task - mainClass = mainClassName - // minimal requirement for jfxNative-task - vendor = '¯\\_(ツ)_/¯' -} +//jfx { +// // minimal requirement for jfxJar-task +// mainClass = mainClassName +// // minimal requirement for jfxNative-task +// vendor = '¯\\_(ツ)_/¯' +//} run{ } -/*task jsoniterStaticCodgen(type:JavaExec) { +task jsoniterStaticCodgen(type:JavaExec) { classpath configurations.getByName(sourceSets.main.compileConfigurationName) classpath = sourceSets.main.runtimeClasspath + sourceSets.main.compileClasspath workingDir = new File(project.rootDir, '/src/main') main = 'com.jsoniter.static_codegen.StaticCodegen' - args 'ch.supsi.dti.i2b.shrug.optitravel.staticgen.StaticCodeGen' + args 'ch.supsi.dti.i2b.shrug.optitravel.codegen.CGConfig' standardOutput = System.out errorOutput = System.err -}*/ +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index f6b961fd5a86aa5fbfe90f707c3138408be7c718..1948b9074f1016d15d505d185bc3f73deb82d8c8 100644 GIT binary patch delta 7399 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 Da{n=i delta 7286 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8c3b081..d2c45a4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Wed Jun 06 15:46:49 CEST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-all.zip diff --git a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/GTFSrsWrapper.java b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/GTFSrsWrapper.java index ee85003..be3533f 100644 --- a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/GTFSrsWrapper.java +++ b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/GTFSrsWrapper.java @@ -1,14 +1,17 @@ package ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs; +import ca.fuzzlesoft.JsonParse; +import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error; +import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta; import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Result; import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.ResultArray; +import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination; import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.*; import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.search.TripSearch; import ch.supsi.dti.i2b.shrug.optitravel.config.BuildConfig; import ch.supsi.dti.i2b.shrug.optitravel.geography.BoundingBox; import ch.supsi.dti.i2b.shrug.optitravel.geography.Coordinate; import ch.supsi.dti.i2b.shrug.optitravel.models.Date; -import ch.supsi.dti.i2b.shrug.optitravel.models.StopTime; import ch.supsi.dti.i2b.shrug.optitravel.models.Time; import ch.supsi.dti.i2b.shrug.optitravel.utilities.HttpClient; import com.jsoniter.JsonIterator; @@ -21,6 +24,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; public class GTFSrsWrapper { @@ -31,6 +35,8 @@ public class GTFSrsWrapper { public GTFSrsWrapper(){ this.client = new HttpClient(); + restoreJsonIteratorMode(); + /*JsonIterator.setMode(DecodingMode.STATIC_MODE); JsonStream.setMode(EncodingMode.STATIC_MODE);*/ } @@ -67,13 +73,18 @@ public List getStopsByTrip(String tid) throws GTFSrsError { private List parseStopResponse(Response response) throws GTFSrsError { if(response != null && response.isSuccessful() && response.body() != null){ try { + JsonIterator.setMode(DecodingMode.REFLECTION_MODE); + JsonStream.setMode(EncodingMode.REFLECTION_MODE); ResultArray a = JsonIterator.deserialize(response.body().string(), ResultArray.class); response.close(); - return a.getResult() + List stopList = a.getResult() .asList() .stream() .map(e-> e.as(Stop.class)) .collect(Collectors.toList()); + + restoreJsonIteratorMode(); + return stopList; } catch(IOException ex){ return null; } @@ -82,6 +93,11 @@ private List parseStopResponse(Response response) throws GTFSrsError { } } + private static void restoreJsonIteratorMode() { + JsonIterator.setMode(DecodingMode.DYNAMIC_MODE_AND_MATCH_FIELD_WITH_HASH); + JsonStream.setMode(EncodingMode.DYNAMIC_MODE); + } + public List getRoutes() throws GTFSrsError { // /api/routes HttpUrl url = new HttpUrl.Builder() @@ -115,9 +131,13 @@ public Agency getAgency(String uid) throws GTFSrsError { Response response = client.get(url); if(response != null && response.isSuccessful() && response.body() != null){ try { + JsonIterator.setMode(DecodingMode.REFLECTION_MODE); + JsonStream.setMode(EncodingMode.STATIC_MODE); ResultArray a = JsonIterator.deserialize(response.body().string(), ResultArray.class); response.close(); - return a.getResult().as(Agency.class); + Agency ag = a.getResult().as(Agency.class); + restoreJsonIteratorMode(); + return ag; } catch(IOException ex){ return null; } @@ -180,9 +200,13 @@ public Trip getTrip(String uid) throws GTFSrsError { Response response = client.get(url); if(response != null && response.isSuccessful() && response.body() != null){ try { + JsonIterator.setMode(DecodingMode.REFLECTION_MODE); + JsonStream.setMode(EncodingMode.REFLECTION_MODE); ResultArray a = JsonIterator.deserialize(response.body().string(), ResultArray.class); response.close(); - return a.getResult().as(Trip.class); + Trip t = a.getResult().as(Trip.class); + restoreJsonIteratorMode(); + return t; } catch(IOException ex){ return null; } @@ -303,8 +327,12 @@ private StopTimes parseSingleStopTimes(Response response) throws GTFSrsError { Result a = JsonIterator.deserialize( response.body().string(), Result.class); - return a.getResult() + JsonIterator.setMode(DecodingMode.REFLECTION_MODE); + JsonStream.setMode(EncodingMode.DYNAMIC_MODE); + StopTimes st = a.getResult() .as(StopTimes.class); + restoreJsonIteratorMode(); + return st; } catch(IOException ex){ return null; } @@ -320,7 +348,9 @@ private PaginatedList getPaginatedStopTimes(Response response) throws response.body().string(), ResultArray.class); response.close(); - return new PaginatedList<>( + JsonIterator.setMode(DecodingMode.REFLECTION_MODE); + JsonStream.setMode(EncodingMode.STATIC_MODE); + PaginatedList pl = new PaginatedList<>( a.getResult() .asList() .stream() @@ -328,6 +358,8 @@ private PaginatedList getPaginatedStopTimes(Response response) throws .collect(Collectors.toList()), a.getMeta() ); + restoreJsonIteratorMode(); + return pl; } catch(IOException ex){ return null; } @@ -426,17 +458,65 @@ public static PaginatedList parsePaginatedTrips(byte[] json){ } public static PaginatedList parsePaginatedTrips(String json){ - ResultArray a = JsonIterator.deserialize( - json, - ResultArray.class); - return new PaginatedList<>( - a.getResult() - .asList() - .stream() - .map((e) -> e.as(Trip.class)) - .collect(Collectors.toList()), - a.getMeta() - ); + + Map resultArray = JsonParse.map(json); + List> trips = (List>) resultArray.get("result"); + Map meta = (Map) resultArray.get("meta"); + Meta metaobj = new Meta(); + + Map pag = (Map) meta.get("pagination"); + Map err = (Map) meta.get("error"); + + if(pag != null){ + Pagination p = new Pagination(); + p.limit = ((Long) pag.get("limit")).intValue(); + p.offset = ((Long) pag.get("offset")).intValue(); + metaobj.pagination = p; + } + + if(err != null){ + Error error = new Error(); + error.message = (String) err.get("message"); + error.code = ((Long) err.get("code")).intValue(); + metaobj.error = error; + } + + metaobj.success = (boolean) meta.get("success"); + + List trips_objs = trips.stream().map(e->{ + Trip t = new Trip(); + t.uid = (String) e.get("uid"); + t.route_id = (String) e.get("route_id"); + t.service_id = (String) e.get("service_id"); + t.headsign = (String) e.get("headsign"); + t.short_name = (String) e.get("short_name"); + t.direction_id = ((int) (long) e.get("direction_id")); + t.stop_sequence = ((List>) e.get("stop_sequence")).stream().map(ss->{ + StopTrip st = new StopTrip(); + Map stopMap = (Map) ss.get("stop"); + Stop s = new Stop(); + s.setUid((String) stopMap.get("uid")); + s.setName((String) stopMap.get("name")); + s.setLat((Double) stopMap.get("lat")); + s.setLng((Double) stopMap.get("lng")); + s.setLocation_type(((Long) stopMap.get("location_type")).intValue()); + s.setParent_station((String) stopMap.get("parent_station")); + + st.setStop(s); + st.setArrival_time((String) ss.get("arrival_time")); + st.setDeparture_time((String) ss.get("departure_time")); + st.setStop_sequence(((Long) ss.get("stop_sequence")).intValue()); + st.setDrop_off(ch.supsi.dti.i2b.shrug.optitravel.models.DropOff.valueOf((String) ss.get("drop_off"))); + st.setPickup(ch.supsi.dti.i2b.shrug.optitravel.models.PickUp.valueOf((String) ss.get("pickup"))); + return st; + }).collect(Collectors.toList()); + return t; + }).collect(Collectors.toList()); + + PaginatedList pl = new PaginatedList<>(); + pl.setResult(trips_objs); + pl.setMeta(metaobj); + return pl; } private PaginatedList getPaginatedTrips(Response response) throws GTFSrsError { @@ -505,7 +585,7 @@ public PaginatedList getStopsNear(Coordinate coordinate) throws GT .addPathSegment(String.valueOf(coordinate.getLng())); HttpUrl url = builder.build(); - Response response = client.get(url); + Response response = client.get(url, 20 * 1000); return getPaginatedStopDistances(response); } @@ -531,7 +611,9 @@ private PaginatedList getPaginatedStopDistances(Response response) response.body().string(), ResultArray.class); response.close(); - return new PaginatedList<>( + JsonIterator.setMode(DecodingMode.REFLECTION_MODE); + JsonStream.setMode(EncodingMode.STATIC_MODE); + PaginatedList pl = new PaginatedList<>( a.getResult() .asList() .stream() @@ -539,6 +621,8 @@ private PaginatedList getPaginatedStopDistances(Response response) .collect(Collectors.toList()), a.getMeta() ); + restoreJsonIteratorMode(); + return pl; } catch(IOException ex){ return null; } diff --git a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PaginatedList.java b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PaginatedList.java index efa5fac..b58ee0c 100644 --- a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PaginatedList.java +++ b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PaginatedList.java @@ -15,6 +15,10 @@ public PaginatedList(List result, Meta meta) { this.meta = meta; } + public PaginatedList() { + + } + public Meta getMeta() { return meta; } @@ -22,4 +26,12 @@ public Meta getMeta() { public List getResult() { return result; } + + public void setResult(List result) { + this.result = result; + } + + public void setMeta(Meta metaobj) { + this.meta = metaobj; + } } diff --git a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Stop.java b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Stop.java index d03a377..a653f61 100644 --- a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Stop.java +++ b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Stop.java @@ -88,4 +88,32 @@ public boolean equals(Object o) { public int hashCode() { return Objects.hash(uid, name, lat, lng, location_type, parent_station); } + + public void setUid(String uid) { + this.uid = uid; + } + + public void setName(String name) { + this.name = name; + } + + public void setLat(double lat) { + this.lat = lat; + } + + public void setLng(double lng) { + this.lng = lng; + } + + public void setLocation_type(int location_type) { + this.location_type = location_type; + } + + public void setParent_station(String parent_station) { + this.parent_station = parent_station; + } + + public void setGtfSrsWrapper(GTFSrsWrapper gtfSrsWrapper) { + this.gtfSrsWrapper = gtfSrsWrapper; + } } diff --git a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java index cf6442b..c3096f4 100644 --- a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java +++ b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java @@ -1,7 +1,10 @@ package ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; +import com.jsoniter.annotation.JsonObject; + import java.util.List; +@JsonObject public class StopTimes { private String stop; private List time; diff --git a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/StopTrip.java b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTrip.java similarity index 72% rename from src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/StopTrip.java rename to src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTrip.java index 39f369d..ecb3f9c 100644 --- a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/StopTrip.java +++ b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTrip.java @@ -1,4 +1,4 @@ -package ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api; +package ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; import ch.supsi.dti.i2b.shrug.optitravel.models.DropOff; import ch.supsi.dti.i2b.shrug.optitravel.models.PickUp; @@ -61,4 +61,28 @@ public int hashCode() { return Objects.hash(stop, arrival_time, departure_time, stop_sequence, drop_off, pickup); } + + public void setStop(Stop stop) { + this.stop = stop; + } + + public void setArrival_time(String arrival_time) { + this.arrival_time = arrival_time; + } + + public void setDeparture_time(String departure_time) { + this.departure_time = departure_time; + } + + public void setStop_sequence(int stop_sequence) { + this.stop_sequence = stop_sequence; + } + + public void setDrop_off(DropOff drop_off) { + this.drop_off = drop_off; + } + + public void setPickup(PickUp pickup) { + this.pickup = pickup; + } } diff --git a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Trip.java b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Trip.java index 80a6649..62f34ff 100644 --- a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Trip.java +++ b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Trip.java @@ -1,13 +1,10 @@ package ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; -import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.StopTrip; import com.jsoniter.annotation.JsonIgnore; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; public class Trip extends ch.supsi.dti.i2b.shrug.optitravel.models.Trip { private static final long serialVersionUID = 238604785615237409L; @@ -45,8 +42,10 @@ public Route getRoute() { @Override public void setStopTrip(List stopTrip) { - this.stop_sequence = new ArrayList<>(); - stopTrip.forEach(e->stop_sequence.add((StopTrip) e)); + if(stopTrip != null) { + this.stop_sequence = new ArrayList<>(); + stopTrip.forEach(e -> stop_sequence.add((StopTrip) e)); + } } @Override diff --git a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java index fee91a2..58c784b 100644 --- a/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java +++ b/src/main/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java @@ -1,10 +1,16 @@ package ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; import ch.supsi.dti.i2b.shrug.optitravel.models.Time; +import com.jsoniter.annotation.JsonObject; +import com.jsoniter.annotation.JsonProperty; +@JsonObject public class TripTimeStop { + @JsonProperty("trip") public String trip; + @JsonProperty("time") public String time; + @JsonProperty("next_stop") public String next_stop; public TripTimeStop(){ diff --git a/src/main/ch/supsi/dti/i2b/shrug/optitravel/codegen/CGConfig.java b/src/main/ch/supsi/dti/i2b/shrug/optitravel/codegen/CGConfig.java new file mode 100644 index 0000000..4d5b9b8 --- /dev/null +++ b/src/main/ch/supsi/dti/i2b/shrug/optitravel/codegen/CGConfig.java @@ -0,0 +1,53 @@ +package ch.supsi.dti.i2b.shrug.optitravel.codegen; + +import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.StopDistance; +import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Result; +import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.ResultArray; +import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.*; +import ch.supsi.dti.i2b.shrug.optitravel.models.Route; +import ch.supsi.dti.i2b.shrug.optitravel.models.StopTime; +import com.jsoniter.JsonIterator; +import com.jsoniter.spi.DecodingMode; +import com.jsoniter.spi.JsoniterSpi; +import com.jsoniter.spi.TypeLiteral; +import com.jsoniter.static_codegen.StaticCodegenConfig; +import javassist.compiler.CodeGen; + +import java.util.List; +import java.util.Map; + +public class CGConfig implements StaticCodegenConfig { + + @Override + public void setup() { + // register custom decoder or extensions before codegen + // so that we doing codegen, we know in which case, we need to callback + JsonIterator.setMode(DecodingMode.STATIC_MODE); // must set to static mode + } + + @Override + public TypeLiteral[] whatToCodegen() { + return new TypeLiteral[]{ + // generic types, need to use this syntax + new TypeLiteral>() { + }, + new TypeLiteral>() { + }, + // array + TypeLiteral.create(int[].class), + // object + //TypeLiteral.create(StopTime.class), + //TypeLiteral.create(Agency.class), + //TypeLiteral.create(Route.class), + //TypeLiteral.create(Stop.class), + TypeLiteral.create(StopTimes.class), + //TypeLiteral.create(Trip.class), + TypeLiteral.create(TripTimeStop.class), + TypeLiteral.create(Result.class), + TypeLiteral.create(ResultArray.class), + TypeLiteral.create(StopDistance.class), + TypeLiteral.create(PickUp.class), + TypeLiteral.create(DropOff.class) + }; + } +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/StopDistance.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/StopDistance.java new file mode 100644 index 0000000..dcf3d2f --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/StopDistance.java @@ -0,0 +1,23 @@ +package jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs; +public class StopDistance implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.lang.Object existingObj = com.jsoniter.CodegenAccess.resetExistingObject(iter); +if (iter.readNull()) { return null; } +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.StopDistance obj = (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.StopDistance() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.StopDistance)existingObj); +if (!com.jsoniter.CodegenAccess.readObjectStart(iter)) { +return obj; +} +com.jsoniter.spi.Slice field = com.jsoniter.CodegenAccess.readObjectFieldAsSlice(iter); +boolean once = true; +while (once) { +once = false; +iter.skip(); +} +while (com.jsoniter.CodegenAccess.nextToken(iter) == ',') { +field = com.jsoniter.CodegenAccess.readObjectFieldAsSlice(iter); +iter.skip(); +} +return obj; +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Error.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Error.java new file mode 100644 index 0000000..cd39aba --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Error.java @@ -0,0 +1,50 @@ +package jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api; +public class Error implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.lang.Object existingObj = com.jsoniter.CodegenAccess.resetExistingObject(iter); +byte nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '{') { +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} +} // end of if null +} // end of if { +nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '"') { +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error)existingObj); +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error)existingObj); +} else { +com.jsoniter.CodegenAccess.unreadByte(iter); +} +} // end of if end +} else { com.jsoniter.CodegenAccess.unreadByte(iter); }// end of if not quote +int _code_ = 0; +java.lang.String _message_ = null; +do { +switch (com.jsoniter.CodegenAccess.readObjectFieldAsHash(iter)) { +case -114201356: +_code_ = (int)iter.readInt(); +continue; +case 619841764: +_message_ = (java.lang.String)iter.readString(); +continue; +} +iter.skip(); +} while (com.jsoniter.CodegenAccess.nextTokenIsComma(iter)); +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error obj = (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error)existingObj); +obj.code = _code_; +obj.message = _message_; +return obj; +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Meta.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Meta.java new file mode 100644 index 0000000..8bc2d7c --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Meta.java @@ -0,0 +1,55 @@ +package jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api; +public class Meta implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.lang.Object existingObj = com.jsoniter.CodegenAccess.resetExistingObject(iter); +byte nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '{') { +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} +} // end of if null +} // end of if { +nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '"') { +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta)existingObj); +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta)existingObj); +} else { +com.jsoniter.CodegenAccess.unreadByte(iter); +} +} // end of if end +} else { com.jsoniter.CodegenAccess.unreadByte(iter); }// end of if not quote +boolean _success_ = false; +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error _error_ = null; +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination _pagination_ = null; +do { +switch (com.jsoniter.CodegenAccess.readObjectFieldAsHash(iter)) { +case 563185489: +_error_ = (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error)jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error.decode_(iter); +continue; +case 979353360: +_success_ = (boolean)iter.readBoolean(); +continue; +case 1186993097: +_pagination_ = (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination)jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination.decode_(iter); +continue; +} +iter.skip(); +} while (com.jsoniter.CodegenAccess.nextTokenIsComma(iter)); +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta obj = (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta)existingObj); +obj.success = _success_; +obj.error = _error_; +obj.pagination = _pagination_; +return obj; +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Result.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Result.java new file mode 100644 index 0000000..93b02e6 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Result.java @@ -0,0 +1,50 @@ +package jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api; +public class Result implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.lang.Object existingObj = com.jsoniter.CodegenAccess.resetExistingObject(iter); +byte nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '{') { +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} +} // end of if null +} // end of if { +nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '"') { +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Result() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Result)existingObj); +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Result() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Result)existingObj); +} else { +com.jsoniter.CodegenAccess.unreadByte(iter); +} +} // end of if end +} else { com.jsoniter.CodegenAccess.unreadByte(iter); }// end of if not quote +com.jsoniter.any.Any _result_ = null; +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta _meta_ = null; +do { +switch (com.jsoniter.CodegenAccess.readObjectFieldAsHash(iter)) { +case -2114039976: +_meta_ = (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta)jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta.decode_(iter); +continue; +case 171406884: +_result_ = (com.jsoniter.any.Any)iter.readAny(); +continue; +} +iter.skip(); +} while (com.jsoniter.CodegenAccess.nextTokenIsComma(iter)); +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Result obj = (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Result() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Result)existingObj); +obj.result = _result_; +obj.meta = _meta_; +return obj; +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/ResultArray.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/ResultArray.java new file mode 100644 index 0000000..bb63687 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/ResultArray.java @@ -0,0 +1,50 @@ +package jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api; +public class ResultArray implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.lang.Object existingObj = com.jsoniter.CodegenAccess.resetExistingObject(iter); +byte nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '{') { +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} +} // end of if null +} // end of if { +nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '"') { +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.ResultArray() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.ResultArray)existingObj); +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.ResultArray() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.ResultArray)existingObj); +} else { +com.jsoniter.CodegenAccess.unreadByte(iter); +} +} // end of if end +} else { com.jsoniter.CodegenAccess.unreadByte(iter); }// end of if not quote +com.jsoniter.any.Any _result_ = null; +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta _meta_ = null; +do { +switch (com.jsoniter.CodegenAccess.readObjectFieldAsHash(iter)) { +case -2114039976: +_meta_ = (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta)jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta.decode_(iter); +continue; +case 171406884: +_result_ = (com.jsoniter.any.Any)iter.readAny(); +continue; +} +iter.skip(); +} while (com.jsoniter.CodegenAccess.nextTokenIsComma(iter)); +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.ResultArray obj = (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.ResultArray() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.ResultArray)existingObj); +obj.result = _result_; +obj.meta = _meta_; +return obj; +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/models/Pagination.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/models/Pagination.java new file mode 100644 index 0000000..d230807 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/models/Pagination.java @@ -0,0 +1,50 @@ +package jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models; +public class Pagination implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.lang.Object existingObj = com.jsoniter.CodegenAccess.resetExistingObject(iter); +byte nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '{') { +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} +} // end of if null +} // end of if { +nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '"') { +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination)existingObj); +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination)existingObj); +} else { +com.jsoniter.CodegenAccess.unreadByte(iter); +} +} // end of if end +} else { com.jsoniter.CodegenAccess.unreadByte(iter); }// end of if not quote +int _offset_ = 0; +int _limit_ = 0; +do { +switch (com.jsoniter.CodegenAccess.readObjectFieldAsHash(iter)) { +case 348705738: +_offset_ = (int)iter.readInt(); +continue; +case 853203252: +_limit_ = (int)iter.readInt(); +continue; +} +iter.skip(); +} while (com.jsoniter.CodegenAccess.nextTokenIsComma(iter)); +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination obj = (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination)existingObj); +obj.offset = _offset_; +obj.limit = _limit_; +return obj; +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/DropOff.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/DropOff.java new file mode 100644 index 0000000..9a72188 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/DropOff.java @@ -0,0 +1,111 @@ +package jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; +public class DropOff implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { if (iter.readNull()) { return null; } +com.jsoniter.spi.Slice field = com.jsoniter.CodegenAccess.readSlice(iter); +switch (field.len()) { +case 18: +if ( +field.at(0)==82 && +field.at(1)==101 && +field.at(2)==103 && +field.at(3)==117 && +field.at(4)==108 && +field.at(5)==97 && +field.at(6)==114 && +field.at(7)==108 && +field.at(8)==121 && +field.at(9)==83 && +field.at(10)==99 && +field.at(11)==104 && +field.at(12)==101 && +field.at(13)==100 && +field.at(14)==117 && +field.at(15)==108 && +field.at(16)==101 && +field.at(17)==100 +) { +return ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.DropOff.RegularlyScheduled; +} +break; +case 21: +if ( +field.at(0)==77 && +field.at(1)==117 && +field.at(2)==115 && +field.at(3)==116 && +field.at(4)==65 && +field.at(5)==114 && +field.at(6)==114 && +field.at(7)==97 && +field.at(8)==110 && +field.at(9)==103 && +field.at(10)==101 && +field.at(11)==87 && +field.at(12)==105 && +field.at(13)==116 && +field.at(14)==104 && +field.at(15)==65 && +field.at(16)==103 && +field.at(17)==101 && +field.at(18)==110 && +field.at(19)==99 && +field.at(20)==121 +) { +return ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.DropOff.MustArrangeWithAgency; +} +break; +case 24: +if ( +field.at(0)==77 && +field.at(1)==117 && +field.at(2)==115 && +field.at(3)==116 && +field.at(4)==67 && +field.at(5)==111 && +field.at(6)==111 && +field.at(7)==114 && +field.at(8)==100 && +field.at(9)==105 && +field.at(10)==110 && +field.at(11)==97 && +field.at(12)==116 && +field.at(13)==101 && +field.at(14)==87 && +field.at(15)==105 && +field.at(16)==116 && +field.at(17)==104 && +field.at(18)==65 && +field.at(19)==103 && +field.at(20)==101 && +field.at(21)==110 && +field.at(22)==99 && +field.at(23)==121 +) { +return ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.DropOff.MustCoordinateWithAgency; +} +break; +case 12: +if ( +field.at(0)==78 && +field.at(1)==111 && +field.at(2)==116 && +field.at(3)==65 && +field.at(4)==118 && +field.at(5)==97 && +field.at(6)==105 && +field.at(7)==108 && +field.at(8)==97 && +field.at(9)==98 && +field.at(10)==108 && +field.at(11)==101 +) { +return ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.DropOff.NotAvailable; +} +break; + +} +throw iter.reportError("decode enum", field + " is not valid enum for ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.DropOff"); +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PickUp.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PickUp.java new file mode 100644 index 0000000..c9b0737 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PickUp.java @@ -0,0 +1,111 @@ +package jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; +public class PickUp implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { if (iter.readNull()) { return null; } +com.jsoniter.spi.Slice field = com.jsoniter.CodegenAccess.readSlice(iter); +switch (field.len()) { +case 18: +if ( +field.at(0)==82 && +field.at(1)==101 && +field.at(2)==103 && +field.at(3)==117 && +field.at(4)==108 && +field.at(5)==97 && +field.at(6)==114 && +field.at(7)==108 && +field.at(8)==121 && +field.at(9)==83 && +field.at(10)==99 && +field.at(11)==104 && +field.at(12)==101 && +field.at(13)==100 && +field.at(14)==117 && +field.at(15)==108 && +field.at(16)==101 && +field.at(17)==100 +) { +return ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.PickUp.RegularlyScheduled; +} +break; +case 21: +if ( +field.at(0)==77 && +field.at(1)==117 && +field.at(2)==115 && +field.at(3)==116 && +field.at(4)==65 && +field.at(5)==114 && +field.at(6)==114 && +field.at(7)==97 && +field.at(8)==110 && +field.at(9)==103 && +field.at(10)==101 && +field.at(11)==87 && +field.at(12)==105 && +field.at(13)==116 && +field.at(14)==104 && +field.at(15)==65 && +field.at(16)==103 && +field.at(17)==101 && +field.at(18)==110 && +field.at(19)==99 && +field.at(20)==121 +) { +return ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.PickUp.MustArrangeWithAgency; +} +break; +case 24: +if ( +field.at(0)==77 && +field.at(1)==117 && +field.at(2)==115 && +field.at(3)==116 && +field.at(4)==67 && +field.at(5)==111 && +field.at(6)==111 && +field.at(7)==114 && +field.at(8)==100 && +field.at(9)==105 && +field.at(10)==110 && +field.at(11)==97 && +field.at(12)==116 && +field.at(13)==101 && +field.at(14)==87 && +field.at(15)==105 && +field.at(16)==116 && +field.at(17)==104 && +field.at(18)==65 && +field.at(19)==103 && +field.at(20)==101 && +field.at(21)==110 && +field.at(22)==99 && +field.at(23)==121 +) { +return ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.PickUp.MustCoordinateWithAgency; +} +break; +case 12: +if ( +field.at(0)==78 && +field.at(1)==111 && +field.at(2)==116 && +field.at(3)==65 && +field.at(4)==118 && +field.at(5)==97 && +field.at(6)==105 && +field.at(7)==108 && +field.at(8)==97 && +field.at(9)==98 && +field.at(10)==108 && +field.at(11)==101 +) { +return ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.PickUp.NotAvailable; +} +break; + +} +throw iter.reportError("decode enum", field + " is not valid enum for ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.PickUp"); +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java new file mode 100644 index 0000000..dcde5f4 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java @@ -0,0 +1,23 @@ +package jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; +public class StopTimes implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.lang.Object existingObj = com.jsoniter.CodegenAccess.resetExistingObject(iter); +if (iter.readNull()) { return null; } +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.StopTimes obj = (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.StopTimes() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.StopTimes)existingObj); +if (!com.jsoniter.CodegenAccess.readObjectStart(iter)) { +return obj; +} +com.jsoniter.spi.Slice field = com.jsoniter.CodegenAccess.readObjectFieldAsSlice(iter); +boolean once = true; +while (once) { +once = false; +iter.skip(); +} +while (com.jsoniter.CodegenAccess.nextToken(iter) == ',') { +field = com.jsoniter.CodegenAccess.readObjectFieldAsSlice(iter); +iter.skip(); +} +return obj; +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java new file mode 100644 index 0000000..c8f2f9f --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java @@ -0,0 +1,55 @@ +package jsoniter_codegen.cfg1524563512.decoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; +public class TripTimeStop implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.lang.Object existingObj = com.jsoniter.CodegenAccess.resetExistingObject(iter); +byte nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '{') { +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +return null; +} +} // end of if null +} // end of if { +nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '"') { +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop)existingObj); +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == '}') { +return (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop)existingObj); +} else { +com.jsoniter.CodegenAccess.unreadByte(iter); +} +} // end of if end +} else { com.jsoniter.CodegenAccess.unreadByte(iter); }// end of if not quote +java.lang.String _trip_ = null; +java.lang.String _time_ = null; +java.lang.String _next_stop_ = null; +do { +switch (com.jsoniter.CodegenAccess.readObjectFieldAsHash(iter)) { +case -1854370539: +_next_stop_ = (java.lang.String)iter.readString(); +continue; +case 1564253156: +_time_ = (java.lang.String)iter.readString(); +continue; +case 1888760810: +_trip_ = (java.lang.String)iter.readString(); +continue; +} +iter.skip(); +} while (com.jsoniter.CodegenAccess.nextTokenIsComma(iter)); +ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop obj = (existingObj == null ? new ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop() : (ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop)existingObj); +obj.trip = _trip_; +obj.time = _time_; +obj.next_stop = _next_stop_; +return obj; +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/int_array.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/int_array.java new file mode 100644 index 0000000..80f8daa --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/int_array.java @@ -0,0 +1,60 @@ +package jsoniter_codegen.cfg1524563512.decoder; +public class int_array implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { com.jsoniter.CodegenAccess.resetExistingObject(iter); +byte nextToken = com.jsoniter.CodegenAccess.readByte(iter); +if (nextToken != '[') { +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +com.jsoniter.CodegenAccess.resetExistingObject(iter); return null; +} else { +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == 'n') { +com.jsoniter.CodegenAccess.skipFixedBytes(iter, 3); +com.jsoniter.CodegenAccess.resetExistingObject(iter); return null; +} +} +} +nextToken = com.jsoniter.CodegenAccess.nextToken(iter); +if (nextToken == ']') { +return new int[0]; +} +com.jsoniter.CodegenAccess.unreadByte(iter); +int a1 = (int)iter.readInt(); +if (!com.jsoniter.CodegenAccess.nextTokenIsComma(iter)) { +return new int[]{ a1 }; +} +int a2 = (int)iter.readInt(); +if (!com.jsoniter.CodegenAccess.nextTokenIsComma(iter)) { +return new int[]{ a1, a2 }; +} +int a3 = (int)iter.readInt(); +if (!com.jsoniter.CodegenAccess.nextTokenIsComma(iter)) { +return new int[]{ a1, a2, a3 }; +} +int a4 = (int) (int)iter.readInt(); +if (!com.jsoniter.CodegenAccess.nextTokenIsComma(iter)) { +return new int[]{ a1, a2, a3, a4 }; +} +int a5 = (int) (int)iter.readInt(); +int[] arr = new int[10]; +arr[0] = a1; +arr[1] = a2; +arr[2] = a3; +arr[3] = a4; +arr[4] = a5; +int i = 5; +while (com.jsoniter.CodegenAccess.nextTokenIsComma(iter)) { +if (i == arr.length) { +int[] newArr = new int[arr.length * 2]; +System.arraycopy(arr, 0, newArr, 0, arr.length); +arr = newArr; +} +arr[i++] = (int)iter.readInt(); +} +int[] result = new int[i]; +System.arraycopy(arr, 0, result, 0, i); +return result; +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/java/util/List_java/lang/Integer.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/java/util/List_java/lang/Integer.java new file mode 100644 index 0000000..b0b6f1b --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/java/util/List_java/lang/Integer.java @@ -0,0 +1,42 @@ +package jsoniter_codegen.cfg1524563512.decoder.java.util.List_java.lang; +public class Integer implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.util.ArrayList col = (java.util.ArrayList)com.jsoniter.CodegenAccess.resetExistingObject(iter); +if (iter.readNull()) { com.jsoniter.CodegenAccess.resetExistingObject(iter); return null; } +if (!com.jsoniter.CodegenAccess.readArrayStart(iter)) { +return col == null ? new java.util.ArrayList(0): (java.util.ArrayList)com.jsoniter.CodegenAccess.reuseCollection(col); +} +Object a1 = (java.lang.Integer)(iter.readNull() ? null : java.lang.Integer.valueOf(iter.readInt())); +if (com.jsoniter.CodegenAccess.nextToken(iter) != ',') { +java.util.ArrayList obj = col == null ? new java.util.ArrayList(1): (java.util.ArrayList)com.jsoniter.CodegenAccess.reuseCollection(col); +obj.add(a1); +return obj; +} +Object a2 = (java.lang.Integer)(iter.readNull() ? null : java.lang.Integer.valueOf(iter.readInt())); +if (com.jsoniter.CodegenAccess.nextToken(iter) != ',') { +java.util.ArrayList obj = col == null ? new java.util.ArrayList(2): (java.util.ArrayList)com.jsoniter.CodegenAccess.reuseCollection(col); +obj.add(a1); +obj.add(a2); +return obj; +} +Object a3 = (java.lang.Integer)(iter.readNull() ? null : java.lang.Integer.valueOf(iter.readInt())); +if (com.jsoniter.CodegenAccess.nextToken(iter) != ',') { +java.util.ArrayList obj = col == null ? new java.util.ArrayList(3): (java.util.ArrayList)com.jsoniter.CodegenAccess.reuseCollection(col); +obj.add(a1); +obj.add(a2); +obj.add(a3); +return obj; +} +Object a4 = (java.lang.Integer)(iter.readNull() ? null : java.lang.Integer.valueOf(iter.readInt())); +java.util.ArrayList obj = col == null ? new java.util.ArrayList(8): (java.util.ArrayList)com.jsoniter.CodegenAccess.reuseCollection(col); +obj.add(a1); +obj.add(a2); +obj.add(a3); +obj.add(a4); +while (com.jsoniter.CodegenAccess.nextToken(iter) == ',') { +obj.add((java.lang.Integer)(iter.readNull() ? null : java.lang.Integer.valueOf(iter.readInt()))); +} +return obj; +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/decoder/java/util/Map_java/lang/String_java/lang/Object.java b/src/main/jsoniter_codegen/cfg1524563512/decoder/java/util/Map_java/lang/String_java/lang/Object.java new file mode 100644 index 0000000..6b9adad --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/decoder/java/util/Map_java/lang/String_java/lang/Object.java @@ -0,0 +1,17 @@ +package jsoniter_codegen.cfg1524563512.decoder.java.util.Map_java.lang.String_java.lang; +public class Object implements com.jsoniter.spi.Decoder { +public static java.lang.Object decode_(com.jsoniter.JsonIterator iter) throws java.io.IOException { java.util.HashMap map = (java.util.HashMap)com.jsoniter.CodegenAccess.resetExistingObject(iter); +if (iter.readNull()) { return null; } +if (map == null) { map = new java.util.HashMap(); } +if (!com.jsoniter.CodegenAccess.readObjectStart(iter)) { +return map; +} +do { +java.lang.Object mapKey = com.jsoniter.CodegenAccess.readObjectFieldAsString(iter); +map.put(mapKey, (java.lang.Object)iter.read()); +} while (com.jsoniter.CodegenAccess.nextToken(iter) == ','); +return map; +}public java.lang.Object decode(com.jsoniter.JsonIterator iter) throws java.io.IOException { +return decode_(iter); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/StopDistance.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/StopDistance.java new file mode 100644 index 0000000..5fcd2e0 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/StopDistance.java @@ -0,0 +1,18 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs; +public class StopDistance implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"stop\":", 8); +encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.StopDistance)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.StopDistance obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj.getStop() == null) { stream.writeNull(); } else { +stream.writeRaw("{\"name\":", 8); +jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.Stop.encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.Stop)obj.getStop(), stream); +stream.write((byte)'}'); +} +stream.writeRaw(",\"distance\":", 12); +stream.writeVal((double)obj.getDistance()); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Error.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Error.java new file mode 100644 index 0000000..b884d68 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Error.java @@ -0,0 +1,16 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api; +public class Error implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"code\":", 8); +encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +stream.writeVal((int)obj.code); +stream.writeRaw(",\"message\":", 11); +if (obj.message == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.String)obj.message); +} +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Meta.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Meta.java new file mode 100644 index 0000000..58f2c4f --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Meta.java @@ -0,0 +1,24 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api; +public class Meta implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"success\":", 11); +encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +stream.writeVal((boolean)obj.success); +stream.writeRaw(",\"error\":", 9); +if (obj.error == null) { stream.writeNull(); } else { +stream.writeRaw("{\"code\":", 8); +jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error.encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Error)obj.error, stream); +stream.write((byte)'}'); +} +stream.writeRaw(",\"pagination\":", 14); +if (obj.pagination == null) { stream.writeNull(); } else { +stream.writeRaw("{\"offset\":", 10); +jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination.encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination)obj.pagination, stream); +stream.write((byte)'}'); +} +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Result.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Result.java new file mode 100644 index 0000000..0fe297e --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/Result.java @@ -0,0 +1,22 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api; +public class Result implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"result\":", 10); +encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Result)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Result obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj.getResult() == null) { stream.writeNull(); } else { +stream.write((byte)'{', (byte)'}'); +jsoniter_codegen.cfg1524563512.encoder.com.jsoniter.any.Any.encode_((com.jsoniter.any.Any)obj.getResult(), stream); + +} +stream.writeRaw(",\"meta\":", 8); +if (obj.getMeta() == null) { stream.writeNull(); } else { +stream.writeRaw("{\"success\":", 11); +jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta.encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta)obj.getMeta(), stream); +stream.write((byte)'}'); +} +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/ResultArray.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/ResultArray.java new file mode 100644 index 0000000..fe68c4d --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/ResultArray.java @@ -0,0 +1,22 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api; +public class ResultArray implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"result\":", 10); +encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.ResultArray)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.ResultArray obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj.getResult() == null) { stream.writeNull(); } else { +stream.write((byte)'{', (byte)'}'); +jsoniter_codegen.cfg1524563512.encoder.com.jsoniter.any.Any.encode_((com.jsoniter.any.Any)obj.getResult(), stream); + +} +stream.writeRaw(",\"meta\":", 8); +if (obj.getMeta() == null) { stream.writeNull(); } else { +stream.writeRaw("{\"success\":", 11); +jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta.encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta)obj.getMeta(), stream); +stream.write((byte)'}'); +} +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/models/Pagination.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/models/Pagination.java new file mode 100644 index 0000000..69b3aff --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/api/models/Pagination.java @@ -0,0 +1,14 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models; +public class Pagination implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"offset\":", 10); +encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.models.Pagination obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +stream.writeVal((int)obj.offset); +stream.writeRaw(",\"limit\":", 9); +stream.writeVal((int)obj.limit); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/DropOff.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/DropOff.java new file mode 100644 index 0000000..66c6e4c --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/DropOff.java @@ -0,0 +1,13 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; +public class DropOff implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.write((byte)'\"'); +encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.DropOff)obj, stream); +stream.write((byte)'\"'); +} +public static void encode_(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw(obj.toString()); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PickUp.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PickUp.java new file mode 100644 index 0000000..8aa741f --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/PickUp.java @@ -0,0 +1,13 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; +public class PickUp implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.write((byte)'\"'); +encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.PickUp)obj, stream); +stream.write((byte)'\"'); +} +public static void encode_(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw(obj.toString()); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Stop.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Stop.java new file mode 100644 index 0000000..b467159 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/Stop.java @@ -0,0 +1,36 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; +public class Stop implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"name\":", 8); +encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.Stop)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.Stop obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj.getName() == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.String)obj.getName()); +} +stream.writeRaw(",\"type\":", 8); +stream.writeVal((int)obj.getType()); +stream.writeRaw(",\"coordinate\":", 14); +if (obj.getCoordinate() == null) { stream.writeNull(); } else { +stream.writeRaw("{\"lat\":", 7); +jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.geography.Coordinate.encode_((ch.supsi.dti.i2b.shrug.optitravel.geography.Coordinate)obj.getCoordinate(), stream); +stream.write((byte)'}'); +} +stream.writeRaw(",\"lat\":", 7); +stream.writeVal((double)obj.getLat()); +stream.writeRaw(",\"lng\":", 7); +stream.writeVal((double)obj.getLng()); +stream.writeRaw(",\"uid\":", 7); +if (obj.getUid() == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.String)obj.getUid()); +} +stream.writeRaw(",\"parentStop\":", 14); +if (obj.getParentStop() == null) { stream.writeNull(); } else { +stream.writeRaw("{\"name\":", 8); +jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.models.Stop.encode_((ch.supsi.dti.i2b.shrug.optitravel.models.Stop)obj.getParentStop(), stream); +stream.write((byte)'}'); +} +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java new file mode 100644 index 0000000..13fa9ed --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/StopTimes.java @@ -0,0 +1,20 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; +public class StopTimes implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"time\":", 8); +encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.StopTimes)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.StopTimes obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj.getTime() == null) { stream.writeNull(); } else { +stream.write((byte)'['); +jsoniter_codegen.cfg1524563512.encoder.java.util.List_ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop.encode_((java.util.List)obj.getTime(), stream); +stream.write((byte)']'); +} +stream.writeRaw(",\"stop\":", 8); +if (obj.getStop() == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.String)obj.getStop()); +} +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java new file mode 100644 index 0000000..64742eb --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java @@ -0,0 +1,28 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; +public class TripTimeStop implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"next_stop\":", 13); +encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj.next_stop == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.String)obj.next_stop); +} +stream.writeRaw(",\"time\":", 8); +if (obj.getTime() == null) { stream.writeNull(); } else { +stream.writeRaw("{\"hour\":", 8); +jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.models.Time.encode_((ch.supsi.dti.i2b.shrug.optitravel.models.Time)obj.getTime(), stream); +stream.write((byte)'}'); +} +stream.writeRaw(",\"nextStop\":", 12); +if (obj.getNextStop() == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.String)obj.getNextStop()); +} +stream.writeRaw(",\"trip\":", 8); +if (obj.getTrip() == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.String)obj.getTrip()); +} +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/geography/Coordinate.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/geography/Coordinate.java new file mode 100644 index 0000000..0b92d09 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/geography/Coordinate.java @@ -0,0 +1,14 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.geography; +public class Coordinate implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"lat\":", 7); +encode_((ch.supsi.dti.i2b.shrug.optitravel.geography.Coordinate)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.geography.Coordinate obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +stream.writeVal((double)obj.getLat()); +stream.writeRaw(",\"lng\":", 7); +stream.writeVal((double)obj.getLng()); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/models/Stop.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/models/Stop.java new file mode 100644 index 0000000..b9ff77d --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/models/Stop.java @@ -0,0 +1,28 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.models; +public class Stop implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"name\":", 8); +encode_((ch.supsi.dti.i2b.shrug.optitravel.models.Stop)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.models.Stop obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj.getName() == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.String)obj.getName()); +} +stream.writeRaw(",\"coordinate\":", 14); +if (obj.getCoordinate() == null) { stream.writeNull(); } else { +stream.writeRaw("{\"lat\":", 7); +jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.geography.Coordinate.encode_((ch.supsi.dti.i2b.shrug.optitravel.geography.Coordinate)obj.getCoordinate(), stream); +stream.write((byte)'}'); +} +stream.writeRaw(",\"uid\":", 7); +if (obj.getUid() == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.String)obj.getUid()); +} +stream.writeRaw(",\"parentStop\":", 14); +if (obj.getParentStop() == null) { stream.writeNull(); } else { +com.jsoniter.output.CodegenAccess.writeVal("jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.models.Stop", (ch.supsi.dti.i2b.shrug.optitravel.models.Stop)obj.getParentStop(), stream); +} +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/models/Time.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/models/Time.java new file mode 100644 index 0000000..341a3e6 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/ch/supsi/dti/i2b/shrug/optitravel/models/Time.java @@ -0,0 +1,16 @@ +package jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.models; +public class Time implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.writeRaw("{\"hour\":", 8); +encode_((ch.supsi.dti.i2b.shrug.optitravel.models.Time)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(ch.supsi.dti.i2b.shrug.optitravel.models.Time obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +stream.writeVal((int)obj.getHour()); +stream.writeRaw(",\"minute\":", 10); +stream.writeVal((int)obj.getMinute()); +stream.writeRaw(",\"second\":", 10); +stream.writeVal((int)obj.getSecond()); +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/com/jsoniter/any/Any.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/com/jsoniter/any/Any.java new file mode 100644 index 0000000..e605ff3 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/com/jsoniter/any/Any.java @@ -0,0 +1,10 @@ +package jsoniter_codegen.cfg1524563512.encoder.com.jsoniter.any; +public class Any implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.write((byte)'{', (byte)'}'); +encode_((com.jsoniter.any.Any)obj, stream); +} +public static void encode_(com.jsoniter.any.Any obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/int_array.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/int_array.java new file mode 100644 index 0000000..9a8d022 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/int_array.java @@ -0,0 +1,21 @@ +package jsoniter_codegen.cfg1524563512.encoder; +public class int_array implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.write((byte)'['); +encode_((int[])obj, stream); +stream.write((byte)']'); +} +public static void encode_(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +int[] arr = (int[])obj; +if (arr.length == 0) { return; } +int i = 0; +int e = arr[i++]; +stream.writeVal((int)e); +while (i < arr.length) { +stream.write(','); +e = arr[i++]; +stream.writeVal((int)e); +} +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/List_ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/List_ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java new file mode 100644 index 0000000..00285ad --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/List_ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/models/TripTimeStop.java @@ -0,0 +1,29 @@ +package jsoniter_codegen.cfg1524563512.encoder.java.util.List_ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models; +public class TripTimeStop implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.write((byte)'['); +encode_((java.util.List)obj, stream); +stream.write((byte)']'); +} +public static void encode_(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +java.util.List list = (java.util.List)obj; +int size = list.size(); +if (size == 0) { return; } +java.lang.Object e = list.get(0); +if (e == null) { stream.writeNull(); } else { +stream.writeRaw("{\"next_stop\":", 13); +jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop.encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop)e, stream); +stream.write((byte)'}'); +} +for (int i = 1; i < size; i++) { +stream.write(','); +e = list.get(i); +if (e == null) { stream.writeNull(); } else { +stream.writeRaw("{\"next_stop\":", 13); +jsoniter_codegen.cfg1524563512.encoder.ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop.encode_((ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.TripTimeStop)e, stream); +stream.write((byte)'}'); +} +} +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/List_java/lang/Integer.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/List_java/lang/Integer.java new file mode 100644 index 0000000..65cae60 --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/List_java/lang/Integer.java @@ -0,0 +1,25 @@ +package jsoniter_codegen.cfg1524563512.encoder.java.util.List_java.lang; +public class Integer implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.write((byte)'['); +encode_((java.util.List)obj, stream); +stream.write((byte)']'); +} +public static void encode_(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +java.util.List list = (java.util.List)obj; +int size = list.size(); +if (size == 0) { return; } +java.lang.Object e = list.get(0); +if (e == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.Integer)e); +} +for (int i = 1; i < size; i++) { +stream.write(','); +e = list.get(i); +if (e == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.Integer)e); +} +} +} +} diff --git a/src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/Map_java/lang/String_java/lang/Object.java b/src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/Map_java/lang/String_java/lang/Object.java new file mode 100644 index 0000000..dac24af --- /dev/null +++ b/src/main/jsoniter_codegen/cfg1524563512/encoder/java/util/Map_java/lang/String_java/lang/Object.java @@ -0,0 +1,30 @@ +package jsoniter_codegen.cfg1524563512.encoder.java.util.Map_java.lang.String_java.lang; +public class Object implements com.jsoniter.spi.Encoder { +public void encode(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +stream.write((byte)'{'); +encode_((java.util.Map)obj, stream); +stream.write((byte)'}'); +} +public static void encode_(java.lang.Object obj, com.jsoniter.output.JsonStream stream) throws java.io.IOException { +if (obj == null) { stream.writeNull(); return; } +java.util.Map map = (java.util.Map)obj; +java.util.Iterator iter = map.entrySet().iterator(); +if(!iter.hasNext()) { return; } +java.util.Map.Entry entry = (java.util.Map.Entry)iter.next(); +stream.writeVal((java.lang.String)entry.getKey()); +stream.write(':'); +if (entry.getValue() == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.Object)entry.getValue()); +} +while(iter.hasNext()) { +entry = (java.util.Map.Entry)iter.next(); +stream.write(','); +stream.writeVal((java.lang.String)entry.getKey()); +stream.write(':'); +if (entry.getValue() == null) { stream.writeNull(); } else { +stream.writeVal((java.lang.Object)entry.getValue()); +} +} +} +} diff --git a/src/test/java/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/GTFSrsTest.java b/src/test/java/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/GTFSrsTest.java index a471467..ebb76de 100644 --- a/src/test/java/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/GTFSrsTest.java +++ b/src/test/java/ch/supsi/dti/i2b/shrug/optitravel/api/GTFS_rs/GTFSrsTest.java @@ -1,7 +1,7 @@ package ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs; import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.Meta; -import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.api.StopTrip; +import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.StopTrip; import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.*; import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.Route; import ch.supsi.dti.i2b.shrug.optitravel.api.GTFS_rs.models.Stop; @@ -14,6 +14,10 @@ import ch.supsi.dti.i2b.shrug.optitravel.models.*; import ch.supsi.dti.i2b.shrug.optitravel.models.DropOff; import ch.supsi.dti.i2b.shrug.optitravel.models.PickUp; +import com.jsoniter.JsonIterator; +import com.jsoniter.output.EncodingMode; +import com.jsoniter.output.JsonStream; +import com.jsoniter.spi.DecodingMode; import org.junit.jupiter.api.Test; import org.mockito.Mockito; @@ -59,7 +63,7 @@ void StopsByTripId(){ return; } - assertEquals(15, stops.size()); + assertEquals(12, stops.size()); for(Stop s : stops){ assertNotEquals(null, s); } @@ -71,9 +75,9 @@ void StopsByTripId(){ assertNotEquals(null, s.getLng()); } - assertEquals("s-fcf74e-pregassonapiazzadigiro", stops.get(0).getUid()); - assertEquals("Pregassona, Piazza di Giro", stops.get(0).getName()); - assertEquals(new Coordinate(46.01946, 8.974125), stops.get(0).getCoordinate()); + assertEquals("s-0795c1-lamonecadempinostazione", stops.get(0).getUid()); + assertEquals("Lamone-Cadempino, Stazione", stops.get(0).getName()); + assertEquals(new Coordinate(46.040350,8.932156), stops.get(0).getCoordinate()); assertEquals(0, stops.get(0).getType()); } @@ -435,6 +439,16 @@ public void testStopTimesBetween(){ } } + @Test + public void parsingTest1(){ + JsonIterator.setMode(DecodingMode.REFLECTION_MODE); + JsonStream.setMode(EncodingMode.DYNAMIC_MODE); + String text = "{\"stop\":\"s-7648b0-mannocentrodicalcolo\",\"time\":[{\"trip\":\"t-256d0c-6ta20449j1811r\",\"time\":\"17:14:00\",\"next_stop\":\"s-7fa1f6-bioggiopianoni\"},{\"trip\":\"t-48e0ce-5ta20449j1811r\",\"time\":\"16:44:00\",\"next_stop\":\"s-7fa1f6-bioggiopianoni\"},{\"trip\":\"t-5c4a41-15ta20449j1812r\",\"time\":\"16:37:00\",\"next_stop\":\"s-e4263b-mannolamonda\"},{\"trip\":\"t-9a680a-16ta20449j1812r\",\"time\":\"17:07:00\",\"next_stop\":\"s-e4263b-mannolamonda\"}]}"; + StopTimes st = JsonIterator.deserialize(text).as(StopTimes.class); + assertNotEquals(null, st.getTime()); + assertNotEquals(null, st.getStop()); + } + @Test public void testStopTimesBetween2(){ Stop s = Mockito.mock(Stop.class); @@ -483,6 +497,7 @@ public void stopTimesBetweenInBBox(){ } private void checkStopTimesContent(StopTimes stopTimes) { + assertNotEquals(null, stopTimes.getTime()); stopTimes.getTime().stream().forEach(e->{ assertNotEquals(null, e); assertNotEquals(null, e.getNextStop());