Esempio n. 1
0
 /**
  * Replaces the {@link org.ehcache.resilience.ResilienceStrategy ResilienceStrategy} instance in
  * the {@link org.ehcache.Ehcache Ehcache} instance provided with a {@link
  * org.mockito.Mockito#spy(Object) Mockito <code>spy</code>} wrapping the original {@code
  * ResilienceStrategy} instance.
  *
  * @param ehcache the {@code Ehcache} instance to alter
  * @return the <code>spy</code>-wrapped {@code ResilienceStrategy} instance
  */
 protected final <K, V> ResilienceStrategy<K, V> setResilienceStrategySpy(
     final Ehcache<K, V> ehcache) {
   assert ehcache != null;
   try {
     final Field resilienceStrategyField =
         ehcache.getClass().getDeclaredField("resilienceStrategy");
     resilienceStrategyField.setAccessible(true);
     @SuppressWarnings("unchecked")
     ResilienceStrategy<K, V> resilienceStrategy =
         (ResilienceStrategy<K, V>) resilienceStrategyField.get(ehcache);
     if (resilienceStrategy != null) {
       resilienceStrategy = spy(resilienceStrategy);
       resilienceStrategyField.set(ehcache, resilienceStrategy);
     }
     return resilienceStrategy;
   } catch (Exception e) {
     throw new AssertionError(
         String.format("Unable to wrap ResilienceStrategy in Ehcache instance: %s", e));
   }
 }