@@ -38,6 +38,7 @@ www.navitia.io
38
38
#include " type/meta_data.h"
39
39
#include " type/meta_vehicle_journey.h"
40
40
#include " type/pt_data.h"
41
+ #include " type/dataset.h"
41
42
#include " utils/logger.h"
42
43
#include " utils/map_find.h"
43
44
#include " utils/functions.h"
@@ -396,7 +397,11 @@ struct add_impacts_visitor : public apply_impacts_visitor {
396
397
if (!mvj->get_base_vj ().empty ()) {
397
398
vj->name = mvj->get_base_vj ().at (0 )->name ;
398
399
vj->headsign = mvj->get_base_vj ().at (0 )->headsign ;
399
- vj->dataset = mvj->get_base_vj ().at (0 )->dataset ;
400
+ auto * dataset = mvj->get_base_vj ().at (0 )->dataset ;
401
+ if (dataset) {
402
+ vj->dataset = dataset;
403
+ vj->dataset ->vehiclejourney_list .insert (vj);
404
+ }
400
405
} else {
401
406
// Affect the headsign to vj if present in gtfs-rt
402
407
if (!impact->headsign .empty ()) {
@@ -407,7 +412,12 @@ struct add_impacts_visitor : public apply_impacts_visitor {
407
412
408
413
// for protection, use the datasets[0]
409
414
// TODO : Create default data set
410
- vj->dataset = pt_data.datasets [0 ];
415
+ if (!pt_data.datasets .empty ()) {
416
+ if (pt_data.datasets [0 ]) {
417
+ vj->dataset = pt_data.datasets [0 ];
418
+ vj->dataset ->vehiclejourney_list .insert (vj);
419
+ }
420
+ }
411
421
LOG4CPLUS_WARN (
412
422
log , " [disruption] Associate random dataset to new VJ doesn't work because base VJ doesn't exist" );
413
423
}
0 commit comments