in taverna-scufl2-t2flow/src/main/java/org/apache/taverna/scufl2/translator/t2flow/defaultdispatchstack/RetryParser.java [74:106]
public Configuration parseConfiguration(T2FlowParser t2FlowParser,
ConfigBean configBean, ParserState parserState)
throws ReaderException {
RetryConfig config = unmarshallConfig(t2FlowParser, configBean,
"xstream", RetryConfig.class);
Configuration c = new Configuration();
c.setType(scufl2Uri.resolve("#Config"));
ObjectNode json = (ObjectNode) c.getJson();
BigInteger maxRetries = config.getMaxRetries();
if (maxRetries != null
&& (maxRetries.longValue() != MAX_RETRIES || maxRetries
.longValue() < 0))
json.put("maxRetries", maxRetries.longValue());
if (maxRetries != null && maxRetries.longValue() != 0) {
// Neither of these makes sense if retries are disabled
if (config.getInitialDelay() != INITIAL_DELAY
&& config.getInitialDelay() > -1)
json.put("initialDelay", config.getInitialDelay());
if (config.getMaxDelay() != MAX_DELAY && config.getMaxDelay() > -1)
json.put("maxDelay", config.getMaxDelay());
double delta = Math.abs(config.getBackoffFactor() - BACKOFF_FACTOR);
if (config.getBackoffFactor() > 0 && delta > 1e-14)
json.put("backoffFactor", config.getBackoffFactor());
}
return c;
}