Tested on RPi, both RPi1 and RPi2; works fine and fast
[iot2.git] / iotjava / iotrmi / Java / basics / TestClassAdvanced_Stub.java
1 import java.util.Arrays;
2 import java.util.List;
3 import java.util.ArrayList;
4 import iotruntime.master.CommunicationHandler;
5
6 public class TestClassAdvanced_Stub {
7
8         public static void main(String[] args) throws Exception {
9
10                 CommunicationHandler comHan = new CommunicationHandler(true);
11                 int numOfPorts = 1;
12                 int[] ports = comHan.getCallbackPorts(numOfPorts);
13
14                 int port = 5010;
15                 //String address = "localhost";
16                 //String address = "192.168.2.191";     // RPi2
17                 //String skeletonAddress = "128.195.136.170";   // dc-9.calit2.uci.edu
18                 //String callbackAddress = "128.195.204.132";   // dw-2.eecs.uci.edu (this machine)
19                 String skeletonAddress = "192.168.2.108";       // RPi1
20                 String callbackAddress = "192.168.2.191";       // RPi2
21                 int rev = 0;
22
23                 TestClassComplete_Stub tcstub = new TestClassComplete_Stub(port, skeletonAddress, callbackAddress, rev, ports);
24                 System.out.println("==== ENUM ====");
25                 Enum en = Enum.APPLE;
26                 Enum res = tcstub.handleEnum(en);
27                 System.out.println("Enum member: " + res);
28                 Enum resComp = tcstub.handleEnumComplex(en, 23, 'c');
29                 System.out.println("Enum member: " + resComp);
30
31                 Enum[] enArr = { Enum.APPLE, Enum.ORANGE, Enum.APPLE, Enum.GRAPE };
32                 Enum[] resArr = tcstub.handleEnumArray(enArr);
33                 System.out.println("Enum members: " + Arrays.toString(resArr));
34                 List<Enum> enArr2 = new ArrayList(Arrays.asList(enArr));
35                 List<Enum> resArr2 = tcstub.handleEnumList(enArr2);
36                 System.out.println("Enum members: " + resArr2.toString());
37                 Enum[] resArr3 = tcstub.handleEnumComplex2(enArr, 23, 'c');
38                 System.out.println("Enum members: " + Arrays.toString(resArr3));
39                 
40
41                 System.out.println("==== STRUCT ====");
42                 Struct str = new Struct();
43                 str.name = "Rahmadi";
44                 str.value = 0.123f;
45                 str.year = 2016;
46                 Struct strRes = tcstub.handleStruct(str);
47                 System.out.println("Name: " + strRes.name);
48                 System.out.println("Value: " + strRes.value);
49                 System.out.println("Year: " + strRes.year);
50                 Struct strRes2 = tcstub.handleStructComplex(23, 'c', str);
51                 System.out.println("Name: " + strRes2.name);
52                 System.out.println("Value: " + strRes2.value);
53                 System.out.println("Year: " + strRes2.year);
54                 Struct str2 = new Struct();
55                 str2.name = "Trimananda";
56                 str2.value = 0.124f;
57                 str2.year = 2017;
58                 Struct[] arrStr = { str, str2 };
59                 Struct[] arrRet = tcstub.handleStructArray(arrStr);
60                 for(Struct st : arrRet) {
61                         System.out.println("Name: " + st.name);
62                         System.out.println("Value: " + st.value);
63                         System.out.println("Year: " + st.year);
64                 }
65                 List<Struct> stList = new ArrayList(Arrays.asList(arrStr));
66 /*              List<Struct> stRetList = tcstub.handleStructList(stList);
67                 for(Struct st : stRetList) {
68                         System.out.println("Name: " + st.name);
69                         System.out.println("Value: " + st.value);
70                         System.out.println("Year: " + st.year);
71                 }
72                 List<Struct> stRetList2 = tcstub.handleStructComplex2(23, 'c', arrStr);
73                 for(Struct st : stRetList2) {
74                         System.out.println("Name: " + st.name);
75                         System.out.println("Value: " + st.value);
76                         System.out.println("Year: " + st.year);
77                 }
78                 Enum[] resArr3 = tcstub.handleEnumStruct(enArr, stList, 'c');
79                 System.out.println("Enum members: " + Arrays.toString(resArr3));*/
80
81 /*              System.out.println("==== CALLBACKS ====");
82                 CallBackInterface cbSingle = new CallBack(2354);
83                 tcstub.registerCallback(cbSingle);
84                 System.out.println("Return value from callback: " + tcstub.callBack());
85                 CallBackInterface cb1 = new CallBack(23);
86                 CallBackInterface cb2 = new CallBack(33);
87                 CallBackInterface cb3 = new CallBack(43);
88                 CallBackInterface[] cb = { cb1, cb2, cb3 };
89                 tcstub.registerCallbackArray(cb);
90                 System.out.println("Return value from callback: " + tcstub.callBack());*/
91                 List<CallBackInterface> cblist = new ArrayList<CallBackInterface>();
92                 CallBackInterface cb4 = new CallBack(53); cblist.add(cb4);
93                 CallBackInterface cb5 = new CallBack(63); cblist.add(cb5);
94                 CallBackInterface cb6 = new CallBack(73); cblist.add(cb6);
95 //              tcstub.registerCallbackList(cblist);
96 //              System.out.println("Return value from callback: " + tcstub.callBack());
97
98 /*              tcstub.registerCallbackComplex(23, cblist, 0.1234);
99                 System.out.println("Return value from callback: " + tcstub.callBack());
100                 Enum[] resArr4 = tcstub.handleAll(enArr, stList, 'c', cblist);
101                 System.out.println("Enum members: " + Arrays.toString(resArr4));
102
103                 Enum[] resArr5 = tcstub.handleCallbackEnum(enArr, 'c', cblist);
104                 System.out.println("Enum members: " + Arrays.toString(resArr5));
105                 //Enum[] resArr6 = tcstub.handleAllTwo(enArr, stList, stList, enArr, 'c', cblist, cblist);
106 //              Enum[] resArr6 = tcstub.handleAllTwo(enArr, enArr, stList, stList, 'c', cblist, cblist);
107 //              System.out.println("Enum members: " + Arrays.toString(resArr6));
108                 Enum[] resArr7 = tcstub.handleEnumTwo(enArr, enArr);
109                 System.out.println("Enum members: " + Arrays.toString(resArr7));
110                 Enum[] resArr8 = tcstub.handleEnumThree(enArr, enArr, stList, stList);
111                 System.out.println("Enum members: " + Arrays.toString(resArr8));
112                 List<Struct> stRetList2 = tcstub.handleStructTwo(stList, stList);
113                 for(Struct st : stRetList2) {
114                         System.out.println("Name: " + st.name);
115                         System.out.println("Value: " + st.value);
116                         System.out.println("Year: " + st.year);
117                 }*/
118                 List<Struct> stRetList3 = tcstub.handleStructThree(stList, stList, stList);
119                 for(Struct st : stRetList3) {
120                         System.out.println("Name: " + st.name);
121                         System.out.println("Value: " + st.value);
122                         System.out.println("Year: " + st.year);
123                 }
124         }
125 }