test_class.file: simple-spring-memcached/src/test/java/com/google/code/ssm/aop/counter/DecrementCounterInCacheAdviceTest.java
test_class.identifier: DecrementCounterInCacheAdviceTest
test_class.superclass: extends AbstractCounterTest<DecrementCounterInCacheAdvice>
test_case.body: @Test
      public void invalidDecrementCounterInCache() throws Throwable {
          Assume.assumeThat(isValid, CoreMatchers.is(false));
  
          advice.decrementSingle(pjp);
  
          verify(cache, never()).decr(cacheKey, 1);
      }
test_case.class_method_signature: DecrementCounterInCacheAdviceTest.invalidDecrementCounterInCache()
test_case.full_signature: @Test public void invalidDecrementCounterInCache()
test_case.identifier: invalidDecrementCounterInCache
test_case.invocations: assumeThat is decrementSingle decr verify never
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void invalidDecrementCounterInCache()
focal_class.declarator: LOG = LoggerFactory.getLogger(DecrementCounterInCacheAdvice.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(DecrementCounterInCacheAdvice.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.file: simple-spring-memcached/src/main/java/com/google/code/ssm/aop/counter/DecrementCounterInCacheAdvice.java
focal_class.identifier: DecrementCounterInCacheAdvice
focal_class.class_method_signature: DecrementCounterInCacheAdvice.decrementSingleCounter()
focal_class.full_signature: @Pointcut("@annotation(com.google.code.ssm.api.counter.DecrementCounterInCache)") public void decrementSingleCounter()
focal_class.identifier: decrementSingleCounter
focal_class.modifiers: @Pointcut("@annotation(com.google.code.ssm.api.counter.DecrementCounterInCache)") public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void decrementSingleCounter()
focal_class.class_method_signature: DecrementCounterInCacheAdvice.decrementSingle(final JoinPoint jp)
focal_class.full_signature: @AfterReturning("decrementSingleCounter()") public void decrementSingle(final JoinPoint jp)
focal_class.identifier: decrementSingle
focal_class.modifiers: @AfterReturning("decrementSingleCounter()") public
focal_class.parameters: (final JoinPoint jp)
focal_class.return: void
focal_class.signature: void decrementSingle(final JoinPoint jp)
focal_class.class_method_signature: DecrementCounterInCacheAdvice.getLogger()
focal_class.full_signature: @Override protected Logger getLogger()
focal_class.identifier: getLogger
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: Logger
focal_class.signature: Logger getLogger()
focal_class.superclass: extends CounterInCacheBase
focal_method.body: @AfterReturning("decrementSingleCounter()")
      public void decrementSingle(final JoinPoint jp) throws Throwable {
          if (isDisabled()) {
              getLogger().info("Cache disabled");
              return;
          }
          // This is injected caching. If anything goes wrong in the caching, LOG
          // the crap outta it, but do not let it surface up past the AOP injection itself.
          // It will be invoked only if underlying method completes successfully.
          String cacheKey = null;
          DecrementCounterInCache annotation;
          try {
              Method methodToCache = getCacheBase().getMethodToCache(jp, DecrementCounterInCache.class);
              annotation = methodToCache.getAnnotation(DecrementCounterInCache.class);
              AnnotationData data = AnnotationDataBuilder.buildAnnotationData(annotation, DecrementCounterInCache.class, methodToCache);
              cacheKey = getCacheBase().getCacheKeyBuilder().getCacheKey(data, jp.getArgs(), methodToCache.toString());
              getCacheBase().getCache(data).decr(cacheKey, 1);
          } catch (Exception ex) {
              warn(ex, "Decrementing counter [%s] via %s aborted due to an error.", cacheKey, jp.toShortString());
          }
      }
focal_method.class_method_signature: DecrementCounterInCacheAdvice.decrementSingle(final JoinPoint jp)
focal_method.full_signature: @AfterReturning("decrementSingleCounter()") public void decrementSingle(final JoinPoint jp)
focal_method.identifier: decrementSingle
focal_method.invocations: isDisabled info getLogger getMethodToCache getCacheBase getAnnotation buildAnnotationData getCacheKey getCacheKeyBuilder getCacheBase getArgs toString decr getCache getCacheBase warn toShortString
focal_method.modifiers: @AfterReturning("decrementSingleCounter()") public
focal_method.parameters: (final JoinPoint jp)
focal_method.return: void
focal_method.signature: void decrementSingle(final JoinPoint jp)