Package org.infinispan

Examples of org.infinispan.DecoratedCache


   public static <K, V> CacheAdapter<K, V> createAdapter(AdvancedCache<K, V> advancedCache, TreeContextContainer tcc) {
      if (advancedCache instanceof CacheAdapter) {
         return (CacheAdapter<K, V>) advancedCache;
      } else if (advancedCache instanceof DecoratedCache) {
         DecoratedCache dc = (DecoratedCache) advancedCache;
         Cache<K, V> delegate = dc.getDelegate();
         if (delegate instanceof AdvancedCache)
            return new DecoratedCacheAdapter<K, V>((AdvancedCache) delegate, tcc, dc.getFlags());
         else
            return new DecoratedCacheAdapter<K, V>(delegate.getAdvancedCache(), tcc, dc.getFlags());
      } else {
         return new CacheAdapter<K, V>(advancedCache, tcc);
      }
   }
View Full Code Here


public class DecoratedCacheTest {

   public void testDecoratedCacheFlagsSet() {
      ClassLoader thisClassLoader = this.getClass().getClassLoader();
      CacheImpl impl = new CacheImpl("baseCache");
      DecoratedCache decoratedCache = new DecoratedCache(impl, thisClassLoader);
      DecoratedCache nofailCache = (DecoratedCache) decoratedCache.withFlags(Flag.FAIL_SILENTLY);
      assert nofailCache.getFlags().contains(Flag.FAIL_SILENTLY);
      assert nofailCache.getFlags().size() == 1;
      DecoratedCache asyncNoFailCache = (DecoratedCache) nofailCache.withFlags(Flag.FORCE_ASYNCHRONOUS);
      assert asyncNoFailCache.getFlags().size() == 2;
      assert asyncNoFailCache.getFlags().contains(Flag.FAIL_SILENTLY);
      assert asyncNoFailCache.getFlags().contains(Flag.FORCE_ASYNCHRONOUS);
      AdvancedCache again = asyncNoFailCache.withFlags(Flag.FAIL_SILENTLY);
      assert again == asyncNoFailCache; // as FAIL_SILENTLY was already specified
     
      CherryPickClassLoader cl = new CherryPickClassLoader(null, null, null, thisClassLoader);
      assert again.getClassLoader() == thisClassLoader;
      DecoratedCache clCache = (DecoratedCache) again.with(cl);
      assert clCache.getClassLoader() == cl;
      assert clCache.getFlags().size() == 2; //Flags inherited from previous withFlag()
      assert again.getClassLoader() == thisClassLoader; //original cache unaffected
      assert decoratedCache.getFlags() == null || decoratedCache.getFlags().size() == 0;
   }
View Full Code Here

public class DecoratedCacheTest {

   public void testDecoratedCacheFlagsSet() {
      ClassLoader thisClassLoader = this.getClass().getClassLoader();
      CacheImpl impl = new CacheImpl("baseCache");
      DecoratedCache decoratedCache = new DecoratedCache(impl, thisClassLoader);
      DecoratedCache nofailCache = (DecoratedCache) decoratedCache.withFlags(Flag.FAIL_SILENTLY);
      assert nofailCache.getFlags().contains(Flag.FAIL_SILENTLY);
      assert nofailCache.getFlags().size() == 1;
      DecoratedCache asyncNoFailCache = (DecoratedCache) nofailCache.withFlags(Flag.FORCE_ASYNCHRONOUS);
      assert asyncNoFailCache.getFlags().size() == 2;
      assert asyncNoFailCache.getFlags().contains(Flag.FAIL_SILENTLY);
      assert asyncNoFailCache.getFlags().contains(Flag.FORCE_ASYNCHRONOUS);
      AdvancedCache again = asyncNoFailCache.withFlags(Flag.FAIL_SILENTLY);
      assert again == asyncNoFailCache; // as FAIL_SILENTLY was already specified
     
      CherryPickClassLoader cl = new CherryPickClassLoader(null, null, null, thisClassLoader);
      assert again.getClassLoader() == thisClassLoader;
      DecoratedCache clCache = (DecoratedCache) again.with(cl);
      assert clCache.getClassLoader() == cl;
      assert clCache.getFlags().size() == 2; //Flags inherited from previous withFlag()
      assert again.getClassLoader() == thisClassLoader; //original cache unaffected
      assert decoratedCache.getFlags() == null || decoratedCache.getFlags().size() == 0;
   }
View Full Code Here

TOP

Related Classes of org.infinispan.DecoratedCache

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.