fix(javaTest): close invalid history inputs explicitly
This commit is contained in:
@@ -52,12 +52,20 @@ public final class HistoricalSimulationInputFactory {
|
||||
failures.add(new HistoricalSimulationFailure(id, record, "INVALID_TASK_TYPE"));
|
||||
continue;
|
||||
}
|
||||
PhysicalEndpointResolver.ResolvedEndpoints endpoints = endpointResolver.resolve(
|
||||
record, compiled.getPassableSites());
|
||||
PhysicalEndpointResolver.ResolvedEndpoints endpoints;
|
||||
try {
|
||||
endpoints = endpointResolver.resolve(record, compiled.getPassableSites());
|
||||
} catch (IllegalArgumentException ex) {
|
||||
// 未知地图端点不能进入调度循环;保留原始记录并形成可归档的输入失败。
|
||||
failures.add(new HistoricalSimulationFailure(id, record,
|
||||
"UNKNOWN_MAP_SITE:" + ex.getMessage()));
|
||||
continue;
|
||||
}
|
||||
if (compiled.getComponentId(endpoints.getSource())
|
||||
!= compiled.getComponentId(endpoints.getTarget())) {
|
||||
// 两端地图连通性是调度启动前的硬约束,跨断开区域不能靠等待或选车解决。
|
||||
throw new IllegalArgumentException("unreachable physical endpoints for " + id);
|
||||
failures.add(new HistoricalSimulationFailure(id, record, "NO_ROUTE"));
|
||||
continue;
|
||||
}
|
||||
tasks.add(new HistoricalSimulationTask(id, record, type,
|
||||
record.getPriority() == null ? Integer.MAX_VALUE : record.getPriority(),
|
||||
|
||||
Reference in New Issue
Block a user