test_class.file: taverna-workflowmodel-extensions/src/test/java/org/apache/taverna/workflowmodel/processor/dispatch/layers/TestRetry.java
test_class.identifier: TestRetry
test_case.body: @Test(expected=IllegalArgumentException.class)
      public void invalidMaxDelay() throws Exception {
          Retry retry = new Retry();
          ObjectNode conf = JsonNodeFactory.instance.objectNode();
          conf.put("maxDelay", 150);
          // Valid on its own, but less than the default initialDelay of 1000!
          retry.configure(conf);
      }
test_case.class_method_signature: TestRetry.invalidMaxDelay()
test_case.full_signature: @Test(expected=IllegalArgumentException.class) public void invalidMaxDelay()
test_case.identifier: invalidMaxDelay
test_case.invocations: objectNode put configure
test_case.modifiers: @Test(expected=IllegalArgumentException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void invalidMaxDelay()
focal_class.declarator: BACKOFF_FACTOR = "backoffFactor"
focal_class.modifier: private static final
focal_class.original_string: private static final String BACKOFF_FACTOR = "backoffFactor";
focal_class.type: String
focal_class.var_name: BACKOFF_FACTOR
focal_class.declarator: MAX_DELAY = "maxDelay"
focal_class.modifier: private static final
focal_class.original_string: private static final String MAX_DELAY = "maxDelay";
focal_class.type: String
focal_class.var_name: MAX_DELAY
focal_class.declarator: MAX_RETRIES = "maxRetries"
focal_class.modifier: private static final
focal_class.original_string: private static final String MAX_RETRIES = "maxRetries";
focal_class.type: String
focal_class.var_name: MAX_RETRIES
focal_class.declarator: INITIAL_DELAY = "initialDelay"
focal_class.modifier: private static final
focal_class.original_string: private static final String INITIAL_DELAY = "initialDelay";
focal_class.type: String
focal_class.var_name: INITIAL_DELAY
focal_class.declarator: URI = "http://ns.taverna.org.uk/2010/scufl2/taverna/dispatchlayer/Retry"
focal_class.modifier: public static final
focal_class.original_string: public static final String URI = "http://ns.taverna.org.uk/2010/scufl2/taverna/dispatchlayer/Retry";
focal_class.type: String
focal_class.var_name: URI
focal_class.declarator: config
focal_class.modifier: private
focal_class.original_string: private ObjectNode config;
focal_class.type: ObjectNode
focal_class.var_name: config
focal_class.declarator: maxRetries
focal_class.modifier: private
focal_class.original_string: private int maxRetries;
focal_class.type: int
focal_class.var_name: maxRetries
focal_class.declarator: initialDelay
focal_class.modifier: private
focal_class.original_string: private int initialDelay;
focal_class.type: int
focal_class.var_name: initialDelay
focal_class.declarator: maxDelay
focal_class.modifier: private
focal_class.original_string: private int maxDelay;
focal_class.type: int
focal_class.var_name: maxDelay
focal_class.declarator: backoffFactor
focal_class.modifier: private
focal_class.original_string: private double backoffFactor;
focal_class.type: double
focal_class.var_name: backoffFactor
focal_class.declarator: retryTimer = new Timer("Retry timer", true)
focal_class.modifier: private static
focal_class.original_string: private static Timer retryTimer = new Timer("Retry timer", true);
focal_class.type: Timer
focal_class.var_name: retryTimer
focal_class.file: taverna-workflowmodel-extensions/src/main/java/org/apache/taverna/workflowmodel/processor/dispatch/layers/Retry.java
focal_class.identifier: Retry
focal_class.class_method_signature: Retry.Retry()
focal_class.full_signature: public  Retry()
focal_class.identifier: Retry
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  Retry()
focal_class.class_method_signature: Retry.Retry(int maxRetries, int initialDelay, int maxDelay,
  			double backoffFactor)
focal_class.full_signature: public  Retry(int maxRetries, int initialDelay, int maxDelay,
  			double backoffFactor)
focal_class.identifier: Retry
focal_class.modifiers: public
focal_class.parameters: (int maxRetries, int initialDelay, int maxDelay,
  			double backoffFactor)
focal_class.signature:  Retry(int maxRetries, int initialDelay, int maxDelay,
  			double backoffFactor)
focal_class.class_method_signature: Retry.getStateObject(DispatchJobEvent jobEvent)
focal_class.full_signature: @Override protected JobState getStateObject(DispatchJobEvent jobEvent)
focal_class.identifier: getStateObject
focal_class.modifiers: @Override protected
focal_class.parameters: (DispatchJobEvent jobEvent)
focal_class.return: JobState
focal_class.signature: JobState getStateObject(DispatchJobEvent jobEvent)
focal_class.class_method_signature: Retry.configure(JsonNode config)
focal_class.full_signature: @Override public void configure(JsonNode config)
focal_class.identifier: configure
focal_class.modifiers: @Override public
focal_class.parameters: (JsonNode config)
focal_class.return: void
focal_class.signature: void configure(JsonNode config)
focal_class.class_method_signature: Retry.setAllMissingFields(ObjectNode config, ObjectNode defaults)
focal_class.full_signature: private void setAllMissingFields(ObjectNode config, ObjectNode defaults)
focal_class.identifier: setAllMissingFields
focal_class.modifiers: private
focal_class.parameters: (ObjectNode config, ObjectNode defaults)
focal_class.return: void
focal_class.signature: void setAllMissingFields(ObjectNode config, ObjectNode defaults)
focal_class.class_method_signature: Retry.forEach(final Iterator<T> iterator)
focal_class.full_signature: private Iterable<T> forEach(final Iterator<T> iterator)
focal_class.identifier: forEach
focal_class.modifiers: private
focal_class.parameters: (final Iterator<T> iterator)
focal_class.return: Iterable<T>
focal_class.signature: Iterable<T> forEach(final Iterator<T> iterator)
focal_class.class_method_signature: Retry.checkConfig(ObjectNode conf)
focal_class.full_signature: private void checkConfig(ObjectNode conf)
focal_class.identifier: checkConfig
focal_class.modifiers: private
focal_class.parameters: (ObjectNode conf)
focal_class.return: void
focal_class.signature: void checkConfig(ObjectNode conf)
focal_class.class_method_signature: Retry.defaultConfig()
focal_class.full_signature: public static ObjectNode defaultConfig()
focal_class.identifier: defaultConfig
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: ObjectNode
focal_class.signature: ObjectNode defaultConfig()
focal_class.class_method_signature: Retry.getConfiguration()
focal_class.full_signature: @Override public JsonNode getConfiguration()
focal_class.identifier: getConfiguration
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: JsonNode
focal_class.signature: JsonNode getConfiguration()
focal_class.superclass: extends AbstractErrorHandlerLayer<JsonNode>
focal_method.body: @Override
  	public void configure(JsonNode config) {
  	    ObjectNode defaultConfig = defaultConfig();
          setAllMissingFields((ObjectNode) config, defaultConfig);
          checkConfig((ObjectNode)config);
          this.config = (ObjectNode) config;
          maxRetries = config.get(MAX_RETRIES).intValue();
          initialDelay = config.get(INITIAL_DELAY).intValue();
          maxDelay = config.get(MAX_DELAY).intValue();
          backoffFactor = config.get(BACKOFF_FACTOR).doubleValue();       
  	}
focal_method.class_method_signature: Retry.configure(JsonNode config)
focal_method.full_signature: @Override public void configure(JsonNode config)
focal_method.identifier: configure
focal_method.invocations: defaultConfig setAllMissingFields checkConfig intValue get intValue get intValue get doubleValue get
focal_method.modifiers: @Override public
focal_method.parameters: (JsonNode config)
focal_method.return: void
focal_method.signature: void configure(JsonNode config)