}
}
}
void handleSignalExternalWorkflowExecutionFailed(HistoryEvent event) {
SignalExternalWorkflowExecutionFailedEventAttributes attributes = event.getSignalExternalWorkflowExecutionFailedEventAttributes();
String signalId = attributes.getControl();
if (decisions.handleSignalExternalWorkflowExecutionFailed(signalId)) {
OpenRequestInfo<Void, Void> signalContextAndResult = scheduledSignals.remove(signalId);
if (signalContextAndResult != null) {
WorkflowExecution signaledExecution = new WorkflowExecution();
signaledExecution.setWorkflowId(attributes.getWorkflowId());
signaledExecution.setRunId(attributes.getRunId());
Throwable failure = new SignalExternalWorkflowException(event.getEventId(), signaledExecution,
attributes.getCause());
signalContextAndResult.getCompletionHandle().fail(failure);
}
}
}