1 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 ; 16 import java.util.*; 17 18 22 23 public class TreeCacheAopTester 24 { 25 26 TreeCacheAop cache; 27 28 Logger logger_ = Logger.getLogger(TreeCacheAopTester.class); 29 30 public TreeCacheAopTester(String configFile) 31 { 32 try { 33 39 cache = new TreeCacheAop(); 40 PropertyConfigurator config = new PropertyConfigurator(); 41 config.configure(cache, configFile); cache.startService(); 43 } catch (Exception 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 ("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 ("Address must be advised!"); 64 } 65 } 66 67 public void setSyncCommitPhase(boolean bool) { 68 cache.setSyncCommitPhase(true); 69 } 70 71 public void createPerson(String key, String 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 e) { 80 throw new RuntimeException (e); 81 } 82 } 83 84 public void removePerson(String key) 85 { 86 try { 87 cache.removeObject(key); 88 } catch (Exception e) { 89 e.printStackTrace(); 90 throw new RuntimeException (e); 91 } 92 } 93 94 Object getPerson(String key) 95 { 96 try { 97 return (Person) cache.getObject(key); 98 } catch (Exception e) { 99 throw new RuntimeException (e); 100 } 101 } 102 103 public void createStudent(String key, String name, int age, String 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 e) { 113 throw new RuntimeException (e); 114 } 115 } 116 117 public void removeStudent(String key) 118 { 119 try { 120 cache.removeObject(key); 121 } catch (Exception e) { 122 e.printStackTrace(); 123 throw new RuntimeException (e); 124 } 125 } 126 127 Object getStudent(String key) 128 { 129 try { 130 return (Student) cache.getObject(key); 131 } catch (Exception e) { 132 throw new RuntimeException (e); 133 } 134 } 135 136 public void setYear(String key, String year) 137 { 138 ((Student) getStudent(key)).setYear(year); 139 } 140 141 public String getYear(String 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 key, String name) 156 { 157 ((Person) getPerson(key)).setName(name); 158 } 159 160 public String getName(String key) 161 { 162 return ((Person) getPerson(key)).getName(); 163 } 164 165 public void setCurrentStatus(String key, String status) 166 { 167 ((Person) getPerson(key)).setCurrentStatus(status); 168 } 169 170 public String getCurrentStatus(String key) 171 { 172 return ((Person) getPerson(key)).getCurrentStatus(); 173 } 174 175 public void setAge(String key, int age) 176 { 177 ((Person) getPerson(key)).setAge(age); 178 } 179 180 public int getAge(String key) 181 { 182 return ((Person) getPerson(key)).getAge(); 183 } 184 185 public void setStreet(String key, String street) 186 { 187 ((Person) getPerson(key)).getAddress().setStreet(street); 188 } 189 190 public String getStreet(String key) 191 { 192 return ((Person) getPerson(key)).getAddress().getStreet(); 193 } 194 195 public void setCity(String key, String city) 196 { 197 ((Person) getPerson(key)).getAddress().setCity(city); 198 } 199 200 public String getCity(String key) 201 { 202 return ((Person) getPerson(key)).getAddress().getCity(); 203 } 204 205 public void setZip(String key, int zip) 206 { 207 ((Person) getPerson(key)).getAddress().setZip(zip); 208 } 209 210 public int getZip(String key) 211 { 212 return ((Person) getPerson(key)).getAddress().getZip(); 213 } 214 215 217 public Object getHobby(String key, Object hobbyKey) 218 { 219 Map hobbies = ((Person) getPerson(key)).getHobbies(); 220 return hobbies == null ? null : hobbies.get(hobbyKey); 221 } 222 223 public void setHobby(String key, Object hobbyKey, Object 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 hobbies = person.getHobbies(); 232 } 233 hobbies.put(hobbyKey, value); 234 } 235 236 public void setHobbies(String key, Map map) 237 { 238 Person person = ((Person) getPerson(key)); 239 person.setHobbies(map); 240 } 241 242 public Map getHobbies(String key) { 243 return ((Person) getPerson(key)).getHobbies(); 244 } 245 247 public Object getLanguage(String 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 getLanguages(String key) 255 { 256 List languages = ((Person) getPerson(key)).getLanguages(); 257 return languages; 258 } 259 260 public void addLanguage(String key, Object 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 key, Object 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 key) 279 { 280 List languages = ((Person) getPerson(key)).getLanguages(); 281 return languages == null ? 0 : languages.size(); 282 } 283 284 public Set getSkills(String key) 285 { 286 return new HashSet(((Person) getPerson(key)).getSkills()); 287 } 288 289 public void addSkill(String key, String 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 key, String 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 testSerialization() 310 { 311 try { 312 Person p = new Person(); 313 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 t) { 325 throw new RuntimeException (t); 326 } 327 } 328 329 public void testDeserialization(String key, Object value) 330 { 331 try { 332 cache.putObject(key, value); 333 } catch (Throwable t) { 334 throw new RuntimeException (t); 335 } 336 } 337 338 public void printPerson(String 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 printCacheDetails() 349 { 350 return cache.printDetails(); 351 } 352 353 public Object getFieldValue(String key, String name) 354 { 355 try { 356 Object object = cache.getObject(key); 357 Field f = object.getClass().getDeclaredField(name); 358 f.setAccessible(true); 359 return f.get(object); 360 } catch (Exception e) { 361 throw new NestedRuntimeException(e); 362 } 363 } 364 365 public TreeCacheAop getCache() 366 { 367 return cache; 368 } 369 370 } 371 372 | Popular Tags |