-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathArrivalHandler.java
More file actions
51 lines (41 loc) · 1.77 KB
/
ArrivalHandler.java
File metadata and controls
51 lines (41 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package fi.hsl.transitdata.pulsarpubtransconnect;
import fi.hsl.common.pulsar.PulsarApplicationContext;
import fi.hsl.common.transitdata.TransitdataProperties;
import fi.hsl.common.transitdata.TransitdataSchema;
import fi.hsl.common.transitdata.proto.PubtransTableProtos;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Map;
import java.util.Optional;
public class ArrivalHandler extends PubtransTableHandler {
static final TransitdataSchema schema;
static {
int defaultVersion = PubtransTableProtos.ROIArrival.newBuilder().getSchemaVersion();
schema = new TransitdataSchema(TransitdataProperties.ProtobufSchema.PubtransRoiArrival, Optional.of(defaultVersion));
}
public ArrivalHandler(PulsarApplicationContext context) {
super(context, TransitdataProperties.ProtobufSchema.PubtransRoiArrival);
}
@Override
protected String getTimetabledDateTimeColumnName() {
return "TimetabledLatestDateTime";
}
@Override
protected TransitdataSchema getSchema() {
return schema;
}
@Override
protected Map<String, Long> getTableColumnToIdMap(ResultSet resultSet) throws SQLException {
return Map.of();
}
@Override
protected byte[] createPayload(PubtransTableProtos.Common common, Map<String,
Long> columnToIdMap, PubtransTableProtos.DOITripInfo tripInfo) throws SQLException {
PubtransTableProtos.ROIArrival.Builder arrivalBuilder = PubtransTableProtos.ROIArrival.newBuilder();
arrivalBuilder.setSchemaVersion(arrivalBuilder.getSchemaVersion());
arrivalBuilder.setCommon(common);
arrivalBuilder.setTripInfo(tripInfo);
PubtransTableProtos.ROIArrival arrival = arrivalBuilder.build();
return arrival.toByteArray();
}
}