KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > cache > test > standAloneAop > TreeCacheAopTester


1 /*
2  * JBoss, the OpenSource J2EE webOS
3  *
4  * Distributable under LGPL license.
5  * See terms of license at gnu.org.
6  */

7 package org.jboss.test.cache.test.standAloneAop;
8
9 import org.jboss.aop.Advised;
10 import org.jboss.cache.PropertyConfigurator;
11 import org.jboss.cache.aop.TreeCacheAop;
12 import org.jboss.logging.Logger;
13 import org.jboss.util.NestedRuntimeException;
14
15 import java.lang.reflect.Field JavaDoc;
16 import java.util.*;
17
18 /**
19  * Proxy to the TreeCacheAop.
20  * The AOP framework requires that classes are loaded by special classloaders (e.g UCL).
21  */

22
23 public class TreeCacheAopTester
24 {
25
26    TreeCacheAop cache;
27
28    Logger logger_ = Logger.getLogger(TreeCacheAopTester.class);
29
30    public TreeCacheAopTester(String JavaDoc configFile)
31    {
32       try {
33          /*
34              cache=new TreeCacheAop(cluster_name, props, 10000);
35              cache.startService();
36              cache2=new TreeCacheAop(cluster_name, props, 10000);
37              cache2.startService();
38              */

39          cache = new TreeCacheAop();
40          PropertyConfigurator config = new PropertyConfigurator();
41          config.configure(cache, configFile); // read in generic replSync xml
42
cache.startService();
43       } catch (Exception JavaDoc e) {
44          e.printStackTrace();
45       }
46    }
47
48    public void stop()
49    {
50       cache.stopService();
51    }
52
53    public void testSetup()
54    {
55       Person p = new Person();
56       if (!(p instanceof Advised)) {
57          logger_.error("testSetup(): p is not an instance of Advised");
58          throw new RuntimeException JavaDoc("Person must be advised!");
59       }
60       Address a = new Address();
61       if (!(a instanceof Advised)) {
62          logger_.error("testSetup(): a is not an instance of Advised");
63          throw new RuntimeException JavaDoc("Address must be advised!");
64       }
65    }
66    
67    public void setSyncCommitPhase(boolean bool) {
68       cache.setSyncCommitPhase(true);
69    }
70
71    public void createPerson(String JavaDoc key, String JavaDoc name, int age)
72    {
73       Person p = new Person();
74       p.setName(name);
75       p.setAge(age);
76       p.setAddress(new Address());
77       try {
78          cache.putObject(key, p);
79       } catch (Exception JavaDoc e) {
80          throw new RuntimeException JavaDoc(e);
81       }
82    }
83
84    public void removePerson(String JavaDoc key)
85    {
86       try {
87          cache.removeObject(key);
88       } catch (Exception JavaDoc e) {
89          e.printStackTrace();
90          throw new RuntimeException JavaDoc(e);
91       }
92    }
93
94    Object JavaDoc getPerson(String JavaDoc key)
95    {
96       try {
97          return (Person) cache.getObject(key);
98       } catch (Exception JavaDoc e) {
99          throw new RuntimeException JavaDoc(e);
100       }
101    }
102
103    public void createStudent(String JavaDoc key, String JavaDoc name, int age, String JavaDoc year)
104    {
105       Student p = new Student();
106       p.setName(name);
107       p.setAge(age);
108       p.setAddress(new Address());
109       p.setYear(year);
110       try {
111          cache.putObject(key, p);
112       } catch (Exception JavaDoc e) {
113          throw new RuntimeException JavaDoc(e);
114       }
115    }
116
117    public void removeStudent(String JavaDoc key)
118    {
119       try {
120          cache.removeObject(key);
121       } catch (Exception JavaDoc e) {
122          e.printStackTrace();
123          throw new RuntimeException JavaDoc(e);
124       }
125    }
126
127    Object JavaDoc getStudent(String JavaDoc key)
128    {
129       try {
130          return (Student) cache.getObject(key);
131       } catch (Exception JavaDoc e) {
132          throw new RuntimeException JavaDoc(e);
133       }
134    }
135
136    public void setYear(String JavaDoc key, String JavaDoc year)
137    {
138       ((Student) getStudent(key)).setYear(year);
139    }
140
141    public String JavaDoc getYear(String JavaDoc key) {
142       return ((Student) getStudent(key)).getYear();
143    }
144
145    public void setAddress(Person person, Address addr)
146    {
147       person.setAddress(addr);
148    }
149
150    public Address createAddress()
151    {
152       return new Address();
153    }
154
155    public void setName(String JavaDoc key, String JavaDoc name)
156    {
157       ((Person) getPerson(key)).setName(name);
158    }
159
160    public String JavaDoc getName(String JavaDoc key)
161    {
162       return ((Person) getPerson(key)).getName();
163    }
164
165    public void setCurrentStatus(String JavaDoc key, String JavaDoc status)
166    {
167       ((Person) getPerson(key)).setCurrentStatus(status);
168    }
169
170    public String JavaDoc getCurrentStatus(String JavaDoc key)
171    {
172       return ((Person) getPerson(key)).getCurrentStatus();
173    }
174
175    public void setAge(String JavaDoc key, int age)
176    {
177       ((Person) getPerson(key)).setAge(age);
178    }
179
180    public int getAge(String JavaDoc key)
181    {
182       return ((Person) getPerson(key)).getAge();
183    }
184
185    public void setStreet(String JavaDoc key, String JavaDoc street)
186    {
187       ((Person) getPerson(key)).getAddress().setStreet(street);
188    }
189
190    public String JavaDoc getStreet(String JavaDoc key)
191    {
192       return ((Person) getPerson(key)).getAddress().getStreet();
193    }
194
195    public void setCity(String JavaDoc key, String JavaDoc city)
196    {
197       ((Person) getPerson(key)).getAddress().setCity(city);
198    }
199
200    public String JavaDoc getCity(String JavaDoc key)
201    {
202       return ((Person) getPerson(key)).getAddress().getCity();
203    }
204
205    public void setZip(String JavaDoc key, int zip)
206    {
207       ((Person) getPerson(key)).getAddress().setZip(zip);
208    }
209
210    public int getZip(String JavaDoc key)
211    {
212       return ((Person) getPerson(key)).getAddress().getZip();
213    }
214
215    // Map operations
216

217    public Object JavaDoc getHobby(String JavaDoc key, Object JavaDoc hobbyKey)
218    {
219       Map hobbies = ((Person) getPerson(key)).getHobbies();
220       return hobbies == null ? null : hobbies.get(hobbyKey);
221    }
222
223    public void setHobby(String JavaDoc key, Object JavaDoc hobbyKey, Object JavaDoc value)
224    {
225       Person person = ((Person) getPerson(key));
226       Map hobbies = person.getHobbies();
227       if (hobbies == null) {
228          hobbies = new HashMap();
229          person.setHobbies(hobbies);
230          // NB: it is neccessary to get hobbies again to get advised version
231
hobbies = person.getHobbies();
232       }
233       hobbies.put(hobbyKey, value);
234    }
235
236    public void setHobbies(String JavaDoc key, Map map)
237    {
238       Person person = ((Person) getPerson(key));
239       person.setHobbies(map);
240    }
241
242    public Map getHobbies(String JavaDoc key) {
243       return ((Person) getPerson(key)).getHobbies();
244    }
245    // List operations
246

247    public Object JavaDoc getLanguage(String JavaDoc key, int index)
248    {
249       List languages = ((Person) getPerson(key)).getLanguages();
250       return languages == null ? null : languages.get(index);
251    }
252
253    
254    public Object JavaDoc getLanguages(String JavaDoc key)
255    {
256       List languages = ((Person) getPerson(key)).getLanguages();
257       return languages;
258    }
259
260    public void addLanguage(String JavaDoc key, Object JavaDoc language)
261    {
262       Person person = ((Person) getPerson(key));
263       List languages = person.getLanguages();
264       if (languages == null) {
265          person.setLanguages(new ArrayList());
266          languages = person.getLanguages();
267       }
268       languages.add(language);
269    }
270
271    public void removeLanguage(String JavaDoc key, Object JavaDoc language)
272    {
273       List languages = ((Person) getPerson(key)).getLanguages();
274       if (languages == null) return;
275       languages.remove(language);
276    }
277
278    public int getLanguagesSize(String JavaDoc key)
279    {
280       List languages = ((Person) getPerson(key)).getLanguages();
281       return languages == null ? 0 : languages.size();
282    }
283
284    public Set getSkills(String JavaDoc key)
285    {
286       return new HashSet(((Person) getPerson(key)).getSkills());
287    }
288
289    public void addSkill(String JavaDoc key, String JavaDoc skill)
290    {
291       Person person = ((Person) getPerson(key));
292       Set skills = person.getSkills();
293       if (skills == null) {
294          person.setSkills(new HashSet());
295          skills = person.getSkills();
296       }
297       skills.add(skill);
298    }
299
300    public void removeSkill(String JavaDoc key, String JavaDoc skill)
301    {
302       Person person = ((Person) getPerson(key));
303       Set skills = person.getSkills();
304       if (skills != null) {
305          skills.remove(skill);
306       }
307    }
308
309    public Object JavaDoc testSerialization()
310    {
311       try {
312          Person p = new Person();
313          /*
314          if (!(p instanceof Externalizable)) {
315         throw new RuntimeException("p not Externalizable");
316          }
317          */

318          p.setName("Joe Black");
319          Address address = new Address();
320          address.setCity("Mannheim");
321          p.setAddress(address);
322          cache.putObject("/person/joe", p);
323          return (Person) cache.getObject("/person/joe");
324       } catch (Throwable JavaDoc t) {
325          throw new RuntimeException JavaDoc(t);
326       }
327    }
328
329    public void testDeserialization(String JavaDoc key, Object JavaDoc value)
330    {
331       try {
332          cache.putObject(key, value);
333       } catch (Throwable JavaDoc t) {
334          throw new RuntimeException JavaDoc(t);
335       }
336    }
337
338    public void printPerson(String JavaDoc key)
339    {
340       System.out.println(getPerson(key));
341    }
342
343    public void printCache()
344    {
345       System.out.println(cache.toString());
346    }
347
348    public String JavaDoc printCacheDetails()
349    {
350       return cache.printDetails();
351    }
352
353    public Object JavaDoc getFieldValue(String JavaDoc key, String JavaDoc name)
354    {
355       try {
356          Object JavaDoc object = cache.getObject(key);
357          Field JavaDoc f = object.getClass().getDeclaredField(name);
358          f.setAccessible(true);
359          return f.get(object);
360       } catch (Exception JavaDoc e) {
361          throw new NestedRuntimeException(e);
362       }
363    }
364
365    public TreeCacheAop getCache()
366    {
367       return cache;
368    }
369
370 }
371
372
Popular Tags