First benchmark working with capability-based RMI; adjustments in callbacks, etc.
[iot2.git] / benchmarks / SmartLightsController / CameraSmart_Stub.java
index e81b00c4034b59887560f50306fe136461ff0937..87d836a49c4bc035babd246cc953342bdfe57e69 100644 (file)
@@ -31,6 +31,7 @@ public class CameraSmart_Stub implements CameraSmart {
                rmiCall = new IoTRMICall(_port, _skeletonAddress, _rev);
                set0Allowed = new ArrayList<Integer>(Arrays.asList(object0Permission));
                listCallbackObj = new ArrayList<CameraCallback>();
+               set0Allowed.add(-9999);
                ___initCallBack();
        }
 
@@ -137,13 +138,13 @@ public class CameraSmart_Stub implements CameraSmart {
                                        rmiObj = new IoTRMIObject(ports[0]);
                                        while (true) {
                                                byte[] method = rmiObj.getMethodBytes();
-                                               int methodId = IoTRMIObject.getMethodId(method);
-                                               if (!set0Allowed.contains(methodId)) {
-                                                       throw new Error("Callback object for CameraCallback is not allowed to access method: " + methodId);
-                                               }
                                                int objId = IoTRMIObject.getObjectId(method);
                                                CameraCallback_CallbackSkeleton skel = (CameraCallback_CallbackSkeleton) listCallbackObj.get(objId);
                                                if (skel != null) {
+                                                       int methodId = IoTRMIObject.getMethodId(method);
+                                                       if (!set0Allowed.contains(methodId)) {
+                                                               throw new Error("Callback object for CameraCallback is not allowed to access method: " + methodId);
+                                                       }
                                                        skel.invokeMethod(rmiObj);
                                                } else {
                                                        throw new Error("CameraCallback: Object with Id " + objId + " not found!");