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