bug fix
[IRC.git] / Robust / src / Tests / Atomic5.java
1 public class Atomic5 extends Thread {
2         public People[] team;
3         public Atomic5() {
4         }
5         public static void main(String[] st) {
6                 int mid = (128<<24)|(195<<16)|(175<<8)|70;
7                 int b = 0,c = 0;
8                 
9                 Integer age;
10                 String name;
11                 Atomic5 tmp;
12                 Atomic5[] at5;
13                 atomic {
14                         at5 =  global new Atomic5[4];
15                 }
16                 atomic {
17                         for(int i = 0 ; i< 4; i++) {
18                                 at5[i] = global new Atomic5();
19                                 at5[i].team = global new People[2];
20                                 at5[i].team[0] = global new People();
21                                 at5[i].team[1] = global new People();
22                                 age = global new Integer(35);
23                                 name = global new String("Harry Potter");
24                                 at5[i].team[0].name = name;
25                                 at5[i].team[0].age = age;
26                         }
27                         b = at5[1].team[0].getAge();
28                 }
29                 atomic {
30                         age = global new Integer(70);
31                         name = global new String("John Smith");
32                         at5[1].team[1].name = name;
33                         at5[1].team[1].age = age;
34                         c = at5[1].team[1].getAge();
35                 }
36                 System.printInt(b);
37                 System.printInt(c);
38                 System.printString("\n");
39                 System.printString("Starting\n");
40                 for(int i = 0 ; i< 4; i++) {
41                         atomic {
42                                 tmp = at5[i];
43                         }
44                         tmp.start(mid);
45                 }
46                 /*
47                 for(int i = 0 ; i< 4; i++) {
48                         at5[i].start(mid);
49                 }
50                 */
51                 System.printString("Finished\n");
52                 while(true) {
53                         ;
54                 }
55         }
56
57         public void run() {
58                 /*
59                 String newname = "";
60                 int ag;
61                 boolean old = false;
62                 atomic {
63                         ag = team[1].getAge();
64                         newname = team[1].getName();
65                         if(ag > 65)
66                                 old = true;
67                 }
68                 if(old){
69                         System.printString(" gets Pension"); 
70                         System.printString("\n");
71                 }
72                 */
73                 System.printString("Atomic5() Inside the run program"); 
74                 System.printString("\n");
75                 /*
76                 for(int i=0; i<4 ; i++) {
77                         at5[i].join();
78                 }
79                 */
80         }
81 }
82
83 public class People {
84         String name;
85         Integer age;
86
87         public People() {
88         }
89
90         public People(String name, Integer age) {
91                 this.name = name;
92                 this.age = age;
93         }
94
95         public void setName(String n) {
96                 name = n;
97         }
98         
99         public void setAge(Integer a) {
100                 age = a;
101         }
102
103         public String getName() {
104                 return name;
105         }
106
107         public int getAge() {
108                 return age.intValue();
109         }
110
111         public boolean isSenior() {
112                 if(this.getAge() > 65)
113                         return true;
114                 return false;
115         }
116 }