1   package org.weda.store;
2   
3   import java.util.ArrayList;
4   import java.util.List;
5   import org.weda.cache.CacheEntity;
6   import org.weda.cache.CacheManager;
7   import org.weda.cache.CacheService;
8   import org.weda.test.WedaTestCase;
9   
10  public class CacheManagerTest extends WedaTestCase {   
11      
12      public CacheManagerTest(String name) throws Exception {
13          super(name);
14      }
15      
16      public void test(){
17          CacheManager manager = 
18                  (CacheManager)registry.getService(CacheManager.class);
19          assertNotNull(manager);
20          CacheService serv = manager.getCacheService();
21          assertNotNull(serv);
22          List<SimpleCacheEntity> elems = new ArrayList<SimpleCacheEntity>();
23          SimpleCacheEntity ent;
24          for (int i=0; i<3; i++){
25              ent=new SimpleCacheEntity(i);
26              elems.add(ent);
27              serv.setCacheEntity(""+i, ent);
28          }
29          for (int i=0; i<3; i++){
30              ent=(SimpleCacheEntity)serv.get(""+i);
31              assertEquals(i, ent.getValue());
32              assertFalse(elems.get(i).released);
33          }
34          serv.release("1");
35          assertTrue(elems.get(1).released);
36          assertNull(serv.get("1"));
37          serv.releaseAll();
38          assertTrue(elems.get(0).released);
39          assertNull(serv.get("0"));
40          assertTrue(elems.get(2).released);        
41          assertNull(serv.get("2"));
42      }
43      
44      public class SimpleCacheEntity implements CacheEntity{
45          public boolean released=false;
46          private int value;
47          
48          public SimpleCacheEntity(int val){
49              value=val;
50          }
51          
52          public void release() {
53              released=true;
54          }
55  
56          public Object getValue() {
57              return value;
58          }
59          
60      }
61      
62  }