Skip to content

Commit

Permalink
core: have a better error when block has no path
Browse files Browse the repository at this point in the history
  • Loading branch information
Khoyo committed Nov 15, 2023
1 parent 598b2cb commit fbc9d8b
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package fr.sncf.osrd.sim_infra.impl

import fr.sncf.osrd.reporting.exceptions.ErrorType
import fr.sncf.osrd.reporting.exceptions.OSRDError
import fr.sncf.osrd.sim_infra.api.*
import fr.sncf.osrd.utils.indexing.*
import fr.sncf.osrd.utils.units.*
Expand All @@ -26,7 +28,15 @@ class BlockInfraBuilderImpl(val loadedSignalInfra: LoadedSignalInfra, val rawInf
signals: StaticIdxList<LogicalSignal>,
signalsDistances: OffsetList<Block>,
): BlockId {
assert(path.size != 0)
if (path.size != 0) {
val error = OSRDError(ErrorType.DelimitingSignalEmptyBlock)
error.context["signals"] = signals.map { rawInfra.getLogicalSignalName(it) }
error.context["signalingSystems"] = signals.map { rawInfra.getSignalingSystemId(it) }
error.context["startAtBufferStop"] = startAtBufferStop
error.context["stopsAtBufferStop"] = stopsAtBufferStop
error.context["signalsDistances"] = signalsDistances
throw error
}

var length = Length<Block>(0.meters)
for (zonePath in path)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,11 @@ public enum ErrorType {
"Invalid STDCM request: both end time and start time are unspecified, at least one must be set",
ErrorCause.USER
),
DelimitingSignalEmptyBlock(
"delimiting_signal_empty_block",
"Delimiting signals must protect a non-empty block",
ErrorCause.USER
),
BALUnprotectedZones(
"unprotected_zones",
"BAL signals always protect zones",
Expand Down

0 comments on commit fbc9d8b

Please sign in to comment.