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 }