diff --git a/grb-use/pom.xml b/grb-use/pom.xml
index 494889d..db8295d 100644
--- a/grb-use/pom.xml
+++ b/grb-use/pom.xml
@@ -19,6 +19,13 @@
+
+
+ public.onebusaway.org
+ http://nexus.onebusaway.org/content/groups/public/
+
+
+
https://github.com/Software-Ingenieur-Begerad/sandbox-java
@@ -28,16 +35,24 @@
UTF-8
+
+
+ org.onebusaway
+ onebusaway-gtfs-realtime-exporter
+ 1.1.0
+
+
+ org.mobilitydata
+ gtfs-realtime-bindings
+ 0.0.8
+
+
org.apache.maven.plugins
maven-compiler-plugin
3.10.1
-
-
- 11
-
org.apache.maven.plugins
diff --git a/grb-use/src/main/java/de/swingbe/grb_use/Main.java b/grb-use/src/main/java/de/swingbe/grb_use/Main.java
index ca198ad..fedb393 100644
--- a/grb-use/src/main/java/de/swingbe/grb_use/Main.java
+++ b/grb-use/src/main/java/de/swingbe/grb_use/Main.java
@@ -1,9 +1,73 @@
package de.swingbe.grb_use;
+import org.onebusway.gtfs_realtime.exporter.GtfsRealtimeLibrary;
+import org.onebusway.gtfs_realtime.exporter.GtfsRealtimeMutableProvider;
+
+import com.google.transit.realtime.GtfsRealtime.FeedEntity;
+import com.google.transit.realtime.GtfsRealtime.FeedMessage;
+import com.google.transit.realtime.GtfsRealtime.Position;
+import com.google.transit.realtime.GtfsRealtime.VehiclePosition;
+import com.google.transit.realtime.GtfsRealtime.TripDescriptor;
+import com.google.transit.realtime.GtfsRealtime.VehicleDescriptor;
+
public class Main {
+ private static GtfsRealtimeMutableProvider gtfsRealtimeMutableProvider;
+
public static void main(String[] args) {
- System.out.println("Hello world!");
+ System.out.println("main() started...");
+ //GtfsRealtime.FeedMessage msg;
+ FeedMessage.Builder vehiclePositions = GtfsRealtimeLibrary.createFeedMessageBuilder();
+
+ /**
+ * We construct a TripDescriptor and VehicleDescriptor, which will be used
+ * in both trip updates and vehicle positions to identify the trip and
+ * vehicle. Ideally, we would have a trip id to use for the trip
+ * descriptor, but the SEPTA api doesn't include it, so we settle for a
+ * route id instead.
+ */
+ TripDescriptor.Builder tripDescriptor = TripDescriptor.newBuilder();
+ tripDescriptor.setRouteId("tripDescriptor:RouteId");
+
+ VehicleDescriptor.Builder vehicleDescriptor = VehicleDescriptor.newBuilder();
+ vehicleDescriptor.setId("vehicleDescriptor:Id");
+
+ /**
+ * To construct our VehiclePosition, we create a position for the vehicle.
+ * We add the position to a VehiclePosition builder, along with the trip
+ * and vehicle descriptors.
+ */
+
+ /**
+ * Brunswick
+ */
+ double lat = 52.268875;
+ double lon = 10.526770;
+
+ Position.Builder position = Position.newBuilder();
+ position.setLatitude((float) lat);
+ position.setLongitude((float) lon);
+
+ VehiclePosition.Builder vehiclePosition = VehiclePosition.newBuilder();
+ vehiclePosition.setPosition(position);
+ vehiclePosition.setTrip(tripDescriptor);
+ vehiclePosition.setVehicle(vehicleDescriptor);
+
+ /**
+ * Create a new feed entity to wrap the vehicle position and add it to the
+ * GTFS-realtime vehicle positions feed.
+ */
+ FeedEntity.Builder vehiclePositionEntity = FeedEntity.newBuilder();
+ vehiclePositionEntity.setId("vehiclePositionEntity:Id");
+ vehiclePositionEntity.setVehicle(vehiclePosition);
+ vehiclePositions.addEntity(vehiclePositionEntity);
+
+ /**
+ * Build out the final GTFS-realtime feed messagse and save them.
+ */
+ gtfsRealtimeMutableProvider.setVehiclePositions(vehiclePositions.build());
+
+ System.out.println("main() done.");
return;
}
}