@@ -5,6 +5,7 @@ import fr.sncf.osrd.api.api_v2.conflicts.WorkSchedulesRequest
5
5
import fr.sncf.osrd.conflicts.*
6
6
import fr.sncf.osrd.sim_infra.api.RawSignalingInfra
7
7
import fr.sncf.osrd.standalone_sim.result.ResultTrain
8
+ import fr.sncf.osrd.utils.LogAggregator
8
9
import fr.sncf.osrd.utils.units.Duration
9
10
import fr.sncf.osrd.utils.units.TimeDelta
10
11
import fr.sncf.osrd.utils.units.seconds
@@ -99,9 +100,12 @@ fun convertWorkScheduleMap(
99
100
timeToAdd : TimeDelta = 0.seconds
100
101
): Collection <Requirements > {
101
102
val res = mutableListOf<Requirements >()
103
+ val logAggregator = LogAggregator ({ requirementsParserLogger.warn(it) })
102
104
for (entry in workSchedules) {
103
105
val workScheduleRequirements = mutableListOf<ResultTrain .SpacingRequirement >()
104
- workScheduleRequirements.addAll(convertWorkSchedule(rawInfra, entry.value, timeToAdd))
106
+ workScheduleRequirements.addAll(
107
+ convertWorkSchedule(rawInfra, entry.value, timeToAdd, logAggregator)
108
+ )
105
109
res.add(
106
110
Requirements (
107
111
RequirementId (entry.key, RequirementType .WORK_SCHEDULE ),
@@ -122,9 +126,12 @@ fun convertWorkScheduleCollection(
122
126
workSchedules : Collection <WorkSchedule >,
123
127
timeToAdd : TimeDelta = 0.seconds,
124
128
): Requirements {
129
+ val logAggregator = LogAggregator ({ requirementsParserLogger.warn(it) })
125
130
val workSchedulesRequirements = mutableListOf<ResultTrain .SpacingRequirement >()
126
131
for (workSchedule in workSchedules) {
127
- workSchedulesRequirements.addAll(convertWorkSchedule(rawInfra, workSchedule, timeToAdd))
132
+ workSchedulesRequirements.addAll(
133
+ convertWorkSchedule(rawInfra, workSchedule, timeToAdd, logAggregator)
134
+ )
128
135
}
129
136
return Requirements (
130
137
RequirementId (DEFAULT_WORK_SCHEDULE_ID , RequirementType .WORK_SCHEDULE ),
@@ -137,6 +144,7 @@ private fun convertWorkSchedule(
137
144
rawInfra : RawSignalingInfra ,
138
145
workSchedule : WorkSchedule ,
139
146
timeToAdd : TimeDelta = 0.seconds,
147
+ logAggregator : LogAggregator ,
140
148
): Collection <ResultTrain .SpacingRequirement > {
141
149
val res = mutableListOf<ResultTrain .SpacingRequirement >()
142
150
@@ -181,7 +189,7 @@ private fun convertWorkSchedule(
181
189
" ${tracksNotCoveredByRoutes.size} track sections were not fully covered by routes (ignoring some work schedules): " +
182
190
tracksNotCoveredByRoutes.take(3 ).joinToString(" , " ) +
183
191
(if (tracksNotCoveredByRoutes.size > 3 ) " , ..." else " " )
184
- requirementsParserLogger.warn (msg)
192
+ logAggregator.registerError (msg)
185
193
}
186
194
return res
187
195
}
0 commit comments