Package org.jboss.cache.loader

Examples of org.jboss.cache.loader.CacheLoader



   public void testTxPutCommit() throws Exception
   {
      CacheSPI<Object, Object> cache = cacheTL.get();
      CacheLoader loader = loaderTL.get();

      DummyTransactionManager mgr = DummyTransactionManager.getInstance();
      mgr.begin();

      cache.put("/one/two/three", "key1", "val1");
      cache.put("/one/two/three/four", "key2", "val2");

      mgr.commit();

      assertNotNull(cache.getNode("/one/two/three").getKeys());
      assertEquals("val1", cache.get(Fqn.fromString("/one/two/three"), "key1"));
      mgr.begin();

      cache.evict(Fqn.fromString("/one/two/three"));
      cache.evict(Fqn.fromString("/one/two/three/four"));

      mgr.commit();
      assertTrue(loader.exists(Fqn.fromString("/one/two/three")));
      assertTrue(loader.exists(Fqn.fromString("/one/two/three/four")));
      assertNotNull(cache.getNode("/one/two/three").getKeys());
      Set<?> children = cache.getNode("/one").getChildrenNames();
      assertEquals(1, children.size());
      cache.removeNode(Fqn.ROOT);
   }
View Full Code Here



   public void testTxPutRollback() throws Exception
   {
      CacheSPI<Object, Object> cache = cacheTL.get();
      CacheLoader loader = loaderTL.get();

      DummyTransactionManager mgr = DummyTransactionManager.getInstance();

      cache.removeNode("/one");
      addDelay();
      mgr.begin();

      cache.put("/one/two/three", "key1", "val1");
      cache.put("/one/two/three/four", "key2", "val2");
      mgr.rollback();
      addDelay();
      assertNull(cache.getNode("/one/two/three"));
      assert cache.getNode("/one") == null;

      assertFalse(loader.exists(Fqn.fromString("/one/two/three")));
      assertFalse(loader.exists(Fqn.fromString("/one/two/three/four")));
   }
View Full Code Here


   public void testPassivationAndActivation() throws Exception
   {
      CacheSPI<Object, Object> cache = cacheTL.get();
      CacheLoader loader = loaderTL.get();

      Object val, val2;
      Fqn NODE = Fqn.fromString("/test");
      loader.remove(Fqn.fromString("/"));
      cache.put(NODE, "key", "val");
      //val=loader.get(NODE).get("key");
      assertNull("value cannot be passivated yet (only on eviction)", loader.get(NODE));
      cache.evict(NODE);
      assertEquals(0, cache.getNumberOfNodes());
      assertEquals(0, cache.getNumberOfAttributes());
      val = loader.get(NODE).get("key");
      assertNotNull("value must have been passivated on evict()", val);
      assertEquals(val, "val");
      val2 = cache.get(NODE, "key");
      assertNotNull(val2);
      assertEquals(val, val2);
      //      val=loader.get(NODE).get("key");
      assertNull("value should have been deleted from store on activation", loader.get(NODE));
   }
View Full Code Here

   /**
    * Tests basic operations.
    */
   private void doTestBasicOperations() throws Exception
   {
      CacheLoader loader = loaderTL.get();

      /* One FQN only. */
      doPutTests(Fqn.fromString("/key"));
      doRemoveTests(Fqn.fromString("/key"));
      // assertEquals(0, loader.loadEntireState().length);

      /* Add three FQNs, middle FQN last. */
      doPutTests(Fqn.fromString("/key1"));
      doPutTests(Fqn.fromString("/key3"));
      doPutTests(Fqn.fromString("/key2"));
      assertEquals(4, loader.get(Fqn.fromString("/key1")).size());
      assertEquals(4, loader.get(Fqn.fromString("/key2")).size());
      assertEquals(4, loader.get(Fqn.fromString("/key3")).size());

      /* Remove middle FQN first, then the others. */
      doRemoveTests(Fqn.fromString("/key2"));
      doRemoveTests(Fqn.fromString("/key3"));
      doRemoveTests(Fqn.fromString("/key1"));
      assertEquals(null, loader.get(Fqn.fromString("/key1")));
      assertEquals(null, loader.get(Fqn.fromString("/key2")));
      assertEquals(null, loader.get(Fqn.fromString("/key3")));
      // assertEquals(0, loader.loadEntireState().length);
   }
View Full Code Here

    * Do basic put tests for a given FQN.
    */
   private void doPutTests(Fqn fqn)
         throws Exception
   {
      CacheLoader loader = loaderTL.get();

      assertTrue(!loader.exists(fqn));

      /* put(Fqn,Object,Object) and get(Fqn,Object) */
      Object oldVal;
      oldVal = loader.put(fqn, "one", "two");
      assertNull(oldVal);
      addDelay();
      oldVal = loader.put(fqn, "three", "four");
      assertNull(oldVal);
      addDelay();
      assertEquals("two", loader.get(fqn).get("one"));
      assertEquals("four", loader.get(fqn).get("three"));
      addDelay();
      oldVal = loader.put(fqn, "one", "xxx");
      assertEquals("two", oldVal);
      addDelay();
      oldVal = loader.put(fqn, "one", "two");
      assertEquals("xxx", oldVal);

      /* get(Fqn) */
      addDelay();
      Map<Object, Object> map = loader.get(fqn);
      assertEquals(2, map.size());
      assertEquals("two", map.get("one"));
      assertEquals("four", map.get("three"));

      Map<Object, Object> map2 = new HashMap<Object, Object>(map);
      /* put(Fqn,Map) */
      map2.put("five", "six");
      map2.put("seven", "eight");
      loader.put(fqn, map2);
      addDelay();
      assertEquals("six", loader.get(fqn).get("five"));
      assertEquals("eight", loader.get(fqn).get("seven"));
      assertEquals(map2, loader.get(fqn));
      assertEquals(4, map2.size());

      assertTrue(loader.exists(fqn));
   }
View Full Code Here

    * Do basic remove tests for a given FQN.
    */
   private void doRemoveTests(Fqn fqn)
         throws Exception
   {
      CacheLoader loader = loaderTL.get();

      /* remove(Fqn,Object) */
      Object oldVal;
      oldVal = loader.remove(fqn, "one");
      assertEquals("two", oldVal);
      addDelay();
      oldVal = loader.remove(fqn, "five");
      assertEquals("six", oldVal);
      addDelay();
      assertEquals(null, loader.get(fqn).get("one"));
      assertEquals(null, loader.get(fqn).get("five"));
      assertEquals("four", loader.get(fqn).get("three"));
      assertEquals("eight", loader.get(fqn).get("seven"));
      Map map = loader.get(fqn);
      assertEquals(2, map.size());
      assertEquals("four", map.get("three"));
      assertEquals("eight", map.get("seven"));

      /* remove(Fqn) */
      assertTrue(loader.exists(fqn));
      loader.remove(fqn);
      addDelay();
      assertNull(loader.get(fqn));
      assertTrue(!loader.exists(fqn));
   }
View Full Code Here

    * and tests removing subtrees.
    */
   public void testMultiLevelTree()
         throws Exception
   {
      CacheLoader loader = loaderTL.get();

      /* Create top level node implicitly. */
      Fqn k0 = Fqn.fromString("/key0");

      assertTrue(!loader.exists(k0));
      loader.put(Fqn.fromString("/key0/level1/level2"), null);
      addDelay();
      assertTrue(loader.exists(Fqn.fromString("/key0/level1/level2")));
      assertTrue(loader.exists(Fqn.fromString("/key0/level1")));
      assertTrue(loader.exists(k0));

      /* Remove leaf, leaving implicitly created middle level. */
      loader.put(Fqn.fromString("/key0/x/y"), null);
      addDelay();
      assertTrue(loader.exists(Fqn.fromString("/key0/x/y")));
      assertTrue(loader.exists(Fqn.fromString("/key0/x")));
      loader.remove(Fqn.fromString("/key0/x/y"));
      addDelay();
      assertTrue(!loader.exists(Fqn.fromString("/key0/x/y")));
      assertTrue(loader.exists(Fqn.fromString("/key0/x")));

      /* Delete top level to delete everything. */
      loader.remove(k0);
      addDelay();
      assertTrue(!loader.exists(k0));
      assertTrue(!loader.exists(Fqn.fromString("/key0/level1/level2")));
      assertTrue(!loader.exists(Fqn.fromString("/key0/level1")));
      assertTrue(!loader.exists(Fqn.fromString("/key0/x")));

      /* Add three top level nodes as context. */
      loader.put(Fqn.fromString("/key1"), null);
      loader.put(Fqn.fromString("/key2"), null);
      loader.put(Fqn.fromString("/key3"), null);
      addDelay();
      assertTrue(loader.exists(Fqn.fromString("/key1")));
      assertTrue(loader.exists(Fqn.fromString("/key2")));
      assertTrue(loader.exists(Fqn.fromString("/key3")));

      /* Put /key3/level1/level2.  level1 should be implicitly created. */
      assertTrue(!loader.exists(Fqn.fromString("/key3/level1")));
      assertTrue(!loader.exists(Fqn.fromString("/key3/level1/level2")));
      loader.put(Fqn.fromString("/key3/level1/level2"), null);
      addDelay();
      assertTrue(loader.exists(Fqn.fromString("/key3/level1/level2")));
      assertTrue(loader.exists(Fqn.fromString("/key3/level1")));

      /* Context nodes should still be intact. */
      assertTrue(loader.exists(Fqn.fromString("/key1")));
      assertTrue(loader.exists(Fqn.fromString("/key2")));
      assertTrue(loader.exists(Fqn.fromString("/key3")));

      /* Remove middle level only. */
      loader.remove(Fqn.fromString("/key3/level1"));
      addDelay();
      assertTrue(!loader.exists(Fqn.fromString("/key3/level1/level2")));
      assertTrue(!loader.exists(Fqn.fromString("/key3/level1")));

      /* Context nodes should still be intact. */
      assertTrue(loader.exists(Fqn.fromString("/key1")));
      assertTrue(loader.exists(Fqn.fromString("/key2")));
      assertTrue(loader.exists(Fqn.fromString("/key3")));

      /* Delete first root, leaving other roots. */
      loader.remove(Fqn.fromString("/key1"));
      addDelay();
      assertTrue(!loader.exists(Fqn.fromString("/key1")));
      assertTrue(loader.exists(Fqn.fromString("/key2")));
      assertTrue(loader.exists(Fqn.fromString("/key3")));

      /* Delete last root, leaving other roots. */
      loader.remove(Fqn.fromString("/key3"));
      addDelay();
      assertTrue(loader.exists(Fqn.fromString("/key2")));
      assertTrue(!loader.exists(Fqn.fromString("/key3")));

      /* Delete final root, leaving none. */
      loader.remove(Fqn.fromString("/key2"));
      addDelay();
      assertTrue(!loader.exists(k0));
      assertTrue(!loader.exists(Fqn.fromString("/key1")));
      assertTrue(!loader.exists(Fqn.fromString("/key2")));
      assertTrue(!loader.exists(Fqn.fromString("/key3")));

      /* Repeat all tests above using put(Fqn,Object,Object) and get(Fqn) */

      assertNull(loader.get(k0));
      loader.put(Fqn.fromString("/key0/level1/level2"), "a", "b");
      addDelay();
      assertNotNull(loader.get(Fqn.fromString("/key0/level1/level2")));
      assertNotNull(loader.get(Fqn.fromString("/key0/level1")));
      assertTrue(loader.get(Fqn.fromString("/key0/level1")).isEmpty());
      assertNotNull(loader.get(k0));
      assertTrue(loader.get(Fqn.fromString("/key0")).isEmpty());

      loader.put(Fqn.fromString("/key0/x/y"), "a", "b");
      addDelay();
      assertNotNull(loader.get(Fqn.fromString("/key0/x/y")));
      assertNotNull(loader.get(Fqn.fromString("/key0/x")));
      assertTrue(loader.get(Fqn.fromString("/key0/x")).isEmpty());
      loader.remove(Fqn.fromString("/key0/x/y"));
      addDelay();
      assertNull(loader.get(Fqn.fromString("/key0/x/y")));
      assertNotNull(loader.get(Fqn.fromString("/key0/x")));
      assertTrue(loader.get(Fqn.fromString("/key0/x")).isEmpty());

      loader.remove(k0);
      addDelay();
      assertNull(loader.get(k0));
      assertNull(loader.get(Fqn.fromString("/key0/level1/level2")));
      assertNull(loader.get(Fqn.fromString("/key0/level1")));
      assertNull(loader.get(Fqn.fromString("/key0/x")));

      loader.put(Fqn.fromString("/key1"), "a", "b");
      loader.put(Fqn.fromString("/key2"), "a", "b");
      loader.put(Fqn.fromString("/key3"), "a", "b");
      addDelay();
      assertNotNull(loader.get(Fqn.fromString("/key1")));
      assertNotNull(loader.get(Fqn.fromString("/key2")));
      assertNotNull(loader.get(Fqn.fromString("/key3")));

      assertNull(loader.get(Fqn.fromString("/key3/level1")));
      assertNull(loader.get(Fqn.fromString("/key3/level1/level2")));
      loader.put(Fqn.fromString("/key3/level1/level2"), "a", "b");
      addDelay();
      assertNotNull(loader.get(Fqn.fromString("/key3/level1/level2")));
      assertNotNull(loader.get(Fqn.fromString("/key3/level1")));
      assertTrue(loader.get(Fqn.fromString("/key3/level1")).isEmpty());

      assertNotNull(loader.get(Fqn.fromString("/key1")));
      assertNotNull(loader.get(Fqn.fromString("/key2")));
      assertNotNull(loader.get(Fqn.fromString("/key3")));

      loader.remove(Fqn.fromString("/key3/level1"));
      addDelay();
      assertNull(loader.get(Fqn.fromString("/key3/level1/level2")));
      assertNull(loader.get(Fqn.fromString("/key3/level1")));

      assertNotNull(loader.get(Fqn.fromString("/key1")));
      assertNotNull(loader.get(Fqn.fromString("/key2")));
      assertNotNull(loader.get(Fqn.fromString("/key3")));

      loader.remove(Fqn.fromString("/key1"));
      addDelay();
      assertNull(loader.get(Fqn.fromString("/key1")));
      assertNotNull(loader.get(Fqn.fromString("/key2")));
      assertNotNull(loader.get(Fqn.fromString("/key3")));

      loader.remove(Fqn.fromString("/key3"));
      addDelay();
      assertNotNull(loader.get(Fqn.fromString("/key2")));
      assertNull(loader.get(Fqn.fromString("/key3")));

      loader.remove(Fqn.fromString("/key2"));
      addDelay();
      assertNull(loader.get(k0));
      assertNull(loader.get(Fqn.fromString("/key1")));
      assertNull(loader.get(Fqn.fromString("/key2")));
      assertNull(loader.get(Fqn.fromString("/key3")));
   }
View Full Code Here

                     // don't care
                  }
               }

               CacheLoaderManager clm = spi.getCacheLoaderManager();
               CacheLoader cl = clm == null ? null : clm.getCacheLoader();
               if (cl != null)
               {
                  try
                  {
                     cl.remove(Fqn.ROOT);
                  }
                  catch (Throwable t)
                  {
                     // don't care
                  }
View Full Code Here

      configureCache();
      cache.getConfiguration().setTransactionManagerLookupClass("org.jboss.cache.transaction.DummyTransactionManagerLookup");
      cache.getConfiguration().setIsolationLevel(IsolationLevel.SERIALIZABLE);
      cache.create();
      cache.start();
      CacheLoader loader = cache.getCacheLoaderManager().getCacheLoader();     
     
      loaderTL.set(loader);          
   }
View Full Code Here

   @AfterMethod(alwaysRun = true)
   public void tearDown() throws Exception
   {
      CacheSPI<Object, Object> cache = cacheTL.get();
      CacheLoader loader = loaderTL.get();
     
      log.info("**** TEARING DOWN ****");
      if (loader != null) loader.remove(Fqn.ROOT);
      TestingUtil.killCaches(cache);
      cacheTL.set(null);
      loaderTL.set(null);
   }
View Full Code Here

TOP

Related Classes of org.jboss.cache.loader.CacheLoader

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.