Adding Fidelius manual.
[iotcloud.git] / version2 / src / java / light_fan_embed_fake_benchmark / LightsController.java
1 import iotcloud.*;
2 import java.util.*;
3
4 class LightsController {
5
6     public static void main(String[] args) throws Exception {
7
8         LightBulb bulb1 = new LightBulb();
9         LightBulb bulb2 = new LightBulb();
10         LightBulb bulb3 = new LightBulb();
11
12
13         List<LightBulb> bulbs = new ArrayList<LightBulb>();
14         bulbs.add(bulb1);
15         bulbs.add(bulb2);
16         bulbs.add(bulb3);
17
18
19         String a1 = "bulb1";
20         String a2 = "bulb2";
21         String a3 = "bulb3";
22
23         IoTString ia1 = new IoTString(a1);
24         IoTString ia2 = new IoTString(a2);
25         IoTString ia3 = new IoTString(a3);
26
27
28         List<IoTString> keys = new ArrayList<IoTString>();
29         keys.add(ia1);
30         keys.add(ia2);
31         keys.add(ia3);
32
33
34         String valueA = "on";
35         IoTString iValueA = new IoTString(valueA);
36
37
38         String pingTimerKey = "bulbController";
39         IoTString ipingTimerKey = new IoTString(pingTimerKey);
40
41
42
43         System.out.println("Starting System");
44         int counter = 0;
45
46
47         Table t1 = null;
48         try {
49             t1 = new Table("http://dc-6.calit2.uci.edu/test.iotcloud/", "reallysecret", 321, 6000);
50             t1.addLocalCommunication(1000, "192.168.2.50", 6001);
51
52             t1.rebuild();
53         } catch (Error e) {
54
55             e.printStackTrace();
56             for (int i = 0; i < 3; i++) {
57                 bulbs.get(i).setColor(0, 100, 100);
58             }
59
60
61
62             while (true) {
63                 for (int i = 0; i < 3; i++) {
64                     bulbs.get(i).turnOff();
65                 }
66                 Thread.sleep(1000);
67
68                 for (int i = 0; i < 3; i++) {
69                     bulbs.get(i).turnOn();
70                 }
71                 Thread.sleep(1000);
72             }
73         }
74
75
76
77
78         // Table t2 = new Table("http://dc-6.calit2.uci.edu/test.iotcloud/", "reallysecret", 400, -1);
79         // t2.rebuild();
80
81
82         while (true) {
83
84             try {
85
86                 System.out.println("Loop");
87
88                 String pingTimer = Long.toString(System.currentTimeMillis());
89                 IoTString ipingTimer = new IoTString(pingTimer);
90
91                 // t1.update();
92                 t1.startTransaction();
93                 t1.addKV(ipingTimerKey, ipingTimer);
94                 t1.commitTransaction();
95
96                 // // t2.update();
97                 // t2.startTransaction();
98                 // t2.addKV(ipingTimerKey, ipingTimer);
99                 // t2.commitTransaction();
100
101
102
103
104
105
106
107                 for (int i = 0; i < 3; i++) {
108                     IoTString testValA1 = t1.getCommitted(keys.get(i));
109                     if ((testValA1 != null) && (testValA1.equals(iValueA) == true)) {
110                         bulbs.get(i).turnOn();
111                     } else {
112                         bulbs.get(i).turnOff();
113                     }
114                 }
115
116                 Thread.sleep(1000);
117
118             } catch (Error e) {
119
120                 e.printStackTrace();
121                 for (int i = 0; i < 3; i++) {
122                     bulbs.get(i).setColor(0, 100, 100);
123                 }
124
125
126
127                 while (true) {
128                     for (int i = 0; i < 3; i++) {
129                         bulbs.get(i).turnOff();
130                     }
131                     Thread.sleep(1000);
132
133                     for (int i = 0; i < 3; i++) {
134                         bulbs.get(i).turnOn();
135                     }
136                     Thread.sleep(1000);
137                 }
138             }
139         }
140     }
141 }