KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > dozer > util > mapping > MultiThreadedTest


1 package net.sf.dozer.util.mapping;
2
3 import java.util.ArrayList JavaDoc;
4
5 import net.sf.dozer.util.mapping.util.TestDataFactory;
6 import net.sf.dozer.util.mapping.vo.TestObject;
7 import net.sf.dozer.util.mapping.vo.TestObjectPrime;
8 import net.sf.dozer.util.mapping.vo.inheritance.AnotherSubClass;
9 import net.sf.dozer.util.mapping.vo.inheritance.AnotherSubClassPrime;
10
11 /**
12  * @author tierney.matt
13  * @author Ozzie Gurkan
14  */

15 public class MultiThreadedTest extends DozerTestBase {
16   private MapperIF mapper;
17
18   public MultiThreadedTest() {
19     ArrayList JavaDoc list = new ArrayList JavaDoc();
20     list.add("dozerBeanMapping.xml");
21     mapper = new DozerBeanMapper(list);
22   }
23
24   /*
25    * See Bug #1550275. ConcurrentModificationException was being thrown
26    */

27   public void testMultiThreadedMapping() throws Exception JavaDoc {
28
29     Runnable JavaDoc run = new Runnable JavaDoc() {
30       public void run() {
31         mapSomething();
32       }
33     };
34     Runnable JavaDoc run2 = new Runnable JavaDoc() {
35       public void run() {
36         mapSomething();
37       }
38     };
39     Runnable JavaDoc run3 = new Runnable JavaDoc() {
40       public void run() {
41         mapSomething();
42       }
43     };
44     Runnable JavaDoc run4 = new Runnable JavaDoc() {
45       public void run() {
46         mapSomething();
47       }
48     };
49
50     Thread JavaDoc t1 = new Thread JavaDoc(run, "Thread-1");
51     Thread JavaDoc t2 = new Thread JavaDoc(run2, "Thread-2");
52     Thread JavaDoc t3 = new Thread JavaDoc(run3, "Thread-3");
53     Thread JavaDoc t4 = new Thread JavaDoc(run4, "Thread-4");
54
55     t1.start();
56     t2.start();
57     t3.start();
58     t4.start();
59     t1.join();
60     t2.join();
61     t3.join();
62     t4.join();
63   }
64
65   private void mapSomething() {
66     TestObject src = TestDataFactory.getInputGeneralMappingTestObject();
67     AnotherSubClass src2 = TestDataFactory.getAnotherSubClass();
68     
69     mapper.map(src, TestObjectPrime.class);
70     mapper.map(src2, AnotherSubClassPrime.class);
71   }
72
73 }
Popular Tags