test_class.declarator: ctx = new HystrixRequestContextRule()
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public HystrixRequestContextRule ctx = new HystrixRequestContextRule();
test_class.type: HystrixRequestContextRule
test_class.var_name: ctx
test_class.declarator: uniqueNameCounter = new AtomicInteger(1)
test_class.modifier: static
test_class.original_string: static AtomicInteger uniqueNameCounter = new AtomicInteger(1);
test_class.type: AtomicInteger
test_class.var_name: uniqueNameCounter
test_class.file: hystrix-core/src/test/java/com/netflix/hystrix/HystrixCommandTest.java
test_class.identifier: HystrixCommandTest
test_class.superclass: extends CommonHystrixCommandTests<TestHystrixCommand<Integer>>
test_case.body: @Test
      public void testSlowFallback() {
          class PrimaryCommand extends TestHystrixCommand<Integer> {
              public PrimaryCommand(TestCircuitBreaker circuitBreaker) {
                  super(testPropsBuilder().setCircuitBreaker(circuitBreaker).setMetrics(circuitBreaker.metrics));
              }
  
              @Override
              protected Integer run() throws Exception {
                  throw new RuntimeException("primary failure");
              }
  
              @Override
              protected Integer getFallback() {
                  try {
                      Thread.sleep(1500);
                      return 1;
                  } catch (InterruptedException ie) {
                      System.out.println("Caught Interrupted Exception");
                      ie.printStackTrace();
                  }
                  return -1;
              }
          }
  
          assertTrue(1 == new PrimaryCommand(new TestCircuitBreaker()).execute());
      }
test_case.class_method_signature: HystrixCommandTest.testSlowFallback()
test_case.full_signature: @Test public void testSlowFallback()
test_case.identifier: testSlowFallback
test_case.invocations: setMetrics setCircuitBreaker testPropsBuilder sleep println printStackTrace assertTrue execute
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSlowFallback()
focal_class.declarator: executionThread = new AtomicReference<Thread>()
focal_class.modifier: private final
focal_class.original_string: private final AtomicReference<Thread> executionThread = new AtomicReference<Thread>();
focal_class.type: AtomicReference<Thread>
focal_class.var_name: executionThread
focal_class.declarator: interruptOnFutureCancel = new AtomicBoolean(false)
focal_class.modifier: private final
focal_class.original_string: private final AtomicBoolean interruptOnFutureCancel = new AtomicBoolean(false);
focal_class.type: AtomicBoolean
focal_class.var_name: interruptOnFutureCancel
focal_class.file: hystrix-core/src/main/java/com/netflix/hystrix/HystrixCommand.java
focal_class.identifier: HystrixCommand
focal_class.interfaces: implements HystrixExecutable<R>, HystrixInvokableInfo<R>, HystrixObservable<R>
focal_class.class_method_signature: HystrixCommand.HystrixCommand(HystrixCommandGroupKey group)
focal_class.full_signature: protected  HystrixCommand(HystrixCommandGroupKey group)
focal_class.identifier: HystrixCommand
focal_class.modifiers: protected
focal_class.parameters: (HystrixCommandGroupKey group)
focal_class.signature:  HystrixCommand(HystrixCommandGroupKey group)
focal_class.class_method_signature: HystrixCommand.HystrixCommand(HystrixCommandGroupKey group, HystrixThreadPoolKey threadPool)
focal_class.full_signature: protected  HystrixCommand(HystrixCommandGroupKey group, HystrixThreadPoolKey threadPool)
focal_class.identifier: HystrixCommand
focal_class.modifiers: protected
focal_class.parameters: (HystrixCommandGroupKey group, HystrixThreadPoolKey threadPool)
focal_class.signature:  HystrixCommand(HystrixCommandGroupKey group, HystrixThreadPoolKey threadPool)
focal_class.class_method_signature: HystrixCommand.HystrixCommand(HystrixCommandGroupKey group, int executionIsolationThreadTimeoutInMilliseconds)
focal_class.full_signature: protected  HystrixCommand(HystrixCommandGroupKey group, int executionIsolationThreadTimeoutInMilliseconds)
focal_class.identifier: HystrixCommand
focal_class.modifiers: protected
focal_class.parameters: (HystrixCommandGroupKey group, int executionIsolationThreadTimeoutInMilliseconds)
focal_class.signature:  HystrixCommand(HystrixCommandGroupKey group, int executionIsolationThreadTimeoutInMilliseconds)
focal_class.class_method_signature: HystrixCommand.HystrixCommand(HystrixCommandGroupKey group, HystrixThreadPoolKey threadPool, int executionIsolationThreadTimeoutInMilliseconds)
focal_class.full_signature: protected  HystrixCommand(HystrixCommandGroupKey group, HystrixThreadPoolKey threadPool, int executionIsolationThreadTimeoutInMilliseconds)
focal_class.identifier: HystrixCommand
focal_class.modifiers: protected
focal_class.parameters: (HystrixCommandGroupKey group, HystrixThreadPoolKey threadPool, int executionIsolationThreadTimeoutInMilliseconds)
focal_class.signature:  HystrixCommand(HystrixCommandGroupKey group, HystrixThreadPoolKey threadPool, int executionIsolationThreadTimeoutInMilliseconds)
focal_class.class_method_signature: HystrixCommand.HystrixCommand(Setter setter)
focal_class.full_signature: protected  HystrixCommand(Setter setter)
focal_class.identifier: HystrixCommand
focal_class.modifiers: protected
focal_class.parameters: (Setter setter)
focal_class.signature:  HystrixCommand(Setter setter)
focal_class.class_method_signature: HystrixCommand.HystrixCommand(HystrixCommandGroupKey group, HystrixCommandKey key, HystrixThreadPoolKey threadPoolKey, HystrixCircuitBreaker circuitBreaker, HystrixThreadPool threadPool,
              HystrixCommandProperties.Setter commandPropertiesDefaults, HystrixThreadPoolProperties.Setter threadPoolPropertiesDefaults,
              HystrixCommandMetrics metrics, TryableSemaphore fallbackSemaphore, TryableSemaphore executionSemaphore,
              HystrixPropertiesStrategy propertiesStrategy, HystrixCommandExecutionHook executionHook)
focal_class.full_signature:   HystrixCommand(HystrixCommandGroupKey group, HystrixCommandKey key, HystrixThreadPoolKey threadPoolKey, HystrixCircuitBreaker circuitBreaker, HystrixThreadPool threadPool,
              HystrixCommandProperties.Setter commandPropertiesDefaults, HystrixThreadPoolProperties.Setter threadPoolPropertiesDefaults,
              HystrixCommandMetrics metrics, TryableSemaphore fallbackSemaphore, TryableSemaphore executionSemaphore,
              HystrixPropertiesStrategy propertiesStrategy, HystrixCommandExecutionHook executionHook)
focal_class.identifier: HystrixCommand
focal_class.parameters: (HystrixCommandGroupKey group, HystrixCommandKey key, HystrixThreadPoolKey threadPoolKey, HystrixCircuitBreaker circuitBreaker, HystrixThreadPool threadPool,
              HystrixCommandProperties.Setter commandPropertiesDefaults, HystrixThreadPoolProperties.Setter threadPoolPropertiesDefaults,
              HystrixCommandMetrics metrics, TryableSemaphore fallbackSemaphore, TryableSemaphore executionSemaphore,
              HystrixPropertiesStrategy propertiesStrategy, HystrixCommandExecutionHook executionHook)
focal_class.signature:  HystrixCommand(HystrixCommandGroupKey group, HystrixCommandKey key, HystrixThreadPoolKey threadPoolKey, HystrixCircuitBreaker circuitBreaker, HystrixThreadPool threadPool,
              HystrixCommandProperties.Setter commandPropertiesDefaults, HystrixThreadPoolProperties.Setter threadPoolPropertiesDefaults,
              HystrixCommandMetrics metrics, TryableSemaphore fallbackSemaphore, TryableSemaphore executionSemaphore,
              HystrixPropertiesStrategy propertiesStrategy, HystrixCommandExecutionHook executionHook)
focal_class.class_method_signature: HystrixCommand.run()
focal_class.full_signature: protected abstract R run()
focal_class.identifier: run
focal_class.modifiers: protected abstract
focal_class.parameters: ()
focal_class.return: R
focal_class.signature: R run()
focal_class.class_method_signature: HystrixCommand.getFallback()
focal_class.full_signature: protected R getFallback()
focal_class.identifier: getFallback
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: R
focal_class.signature: R getFallback()
focal_class.class_method_signature: HystrixCommand.getExecutionObservable()
focal_class.full_signature: @Override final protected Observable<R> getExecutionObservable()
focal_class.identifier: getExecutionObservable
focal_class.modifiers: @Override final protected
focal_class.parameters: ()
focal_class.return: Observable<R>
focal_class.signature: Observable<R> getExecutionObservable()
focal_class.class_method_signature: HystrixCommand.getFallbackObservable()
focal_class.full_signature: @Override final protected Observable<R> getFallbackObservable()
focal_class.identifier: getFallbackObservable
focal_class.modifiers: @Override final protected
focal_class.parameters: ()
focal_class.return: Observable<R>
focal_class.signature: Observable<R> getFallbackObservable()
focal_class.class_method_signature: HystrixCommand.execute()
focal_class.full_signature: public R execute()
focal_class.identifier: execute
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: R
focal_class.signature: R execute()
focal_class.class_method_signature: HystrixCommand.queue()
focal_class.full_signature: public Future<R> queue()
focal_class.identifier: queue
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Future<R>
focal_class.signature: Future<R> queue()
focal_class.class_method_signature: HystrixCommand.getFallbackMethodName()
focal_class.full_signature: @Override protected String getFallbackMethodName()
focal_class.identifier: getFallbackMethodName
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getFallbackMethodName()
focal_class.class_method_signature: HystrixCommand.isFallbackUserDefined()
focal_class.full_signature: @Override protected boolean isFallbackUserDefined()
focal_class.identifier: isFallbackUserDefined
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isFallbackUserDefined()
focal_class.class_method_signature: HystrixCommand.commandIsScalar()
focal_class.full_signature: @Override protected boolean commandIsScalar()
focal_class.identifier: commandIsScalar
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean commandIsScalar()
focal_class.superclass: extends AbstractCommand<R>
focal_method.body: public R execute() {
          try {
              return queue().get();
          } catch (Exception e) {
              throw Exceptions.sneakyThrow(decomposeException(e));
          }
      }
focal_method.class_method_signature: HystrixCommand.execute()
focal_method.full_signature: public R execute()
focal_method.identifier: execute
focal_method.invocations: get queue sneakyThrow decomposeException
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: R
focal_method.signature: R execute()