public void signalRecieved()

in src/main/java/com/amazonaws/services/simpleworkflow/flow/pojo/POJOWorkflowDefinition.java [131:163]


    public void signalRecieved(String signalName, String details) throws WorkflowException {
        MethodConverterPair signalMethod = signals.get(signalName);
        if (signalMethod != null) {
            DataConverter c = signalMethod.getConverter();
            if (c == null) {
                c = converter;
            }
            Method method = signalMethod.getMethod();
            final DataConverter delegatedConverter = c;
            final Object[] parameters = ThreadLocalMetrics.getMetrics().recordSupplier(
                () -> delegatedConverter.fromData(details, Object[].class),
                delegatedConverter.getClass().getSimpleName() + "@" + MetricName.Operation.DATA_CONVERTER_DESERIALIZE.getName(),
                TimeUnit.MILLISECONDS
            );
            new TryCatch() {

                @Override
                protected void doTry() throws Throwable {
                    invokeMethod(method, parameters);
                }

                @Override
                protected void doCatch(Throwable e) throws Throwable {
                    throwWorkflowException(delegatedConverter, e);
                    throw new IllegalStateException("Unreacheable");
                }

            };
        }
        else {
            // TODO: Unhandled signal
        }
    }