[IOT-1248] Fix multiple APIs throwing wrong exception
authorsaurabh.s9 <saurabh.s9@samsung.com>
Mon, 12 Sep 2016 04:55:31 +0000 (10:25 +0530)
committerRandeep Singh <randeep.s@samsung.com>
Mon, 12 Sep 2016 09:08:20 +0000 (09:08 +0000)
Change-Id: Ide5d534e301492bfd5499fa6d1cc7778bf5e7611
Signed-off-by: saurabh.s9 <saurabh.s9@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/11671
Reviewed-by: Md. Imtiaz Hossain <imtiaz.h@samsung.com>
Reviewed-by: Randeep Singh <randeep.s@samsung.com>
Tested-by: Randeep Singh <randeep.s@samsung.com>
android/android_api/base/jni/JniOcProvisioning.cpp
android/android_api/base/jni/JniOcSecureResource.cpp

index d11205b..02ee9b2 100644 (file)
@@ -267,7 +267,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcProvisioning_setDisplayPinListen
 
     if (!jListener)
     {
-        ThrowOcException(OC_STACK_INVALID_PARAM, "displayPinListener can't be null");
+        ThrowOcException(OC_STACK_INVALID_CALLBACK, "displayPinListener can't be null");
         return;
     }
     delete jniDisplayPinListener;
index def409c..4c81fc5 100644 (file)
@@ -327,7 +327,10 @@ OCStackResult JniOcSecureResource::provisionPairwiseDevices(JNIEnv* env, jint ty
         jobject _acl1, jobject _device2, jobject _acl2, jobject jListener)
 {
     OCStackResult ret;
-
+    if(!jListener)
+    {
+        return OC_STACK_INVALID_CALLBACK;
+    }
     JniProvisionResultListner *resultListener = AddProvisionResultListener(env, jListener);
     JniOcSecureResource *device2 = JniOcSecureResource::getJniOcSecureResourcePtr(env, _device2);
     if (!device2)
@@ -402,13 +405,14 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcSecureResource_doOwnershipTransf
     LOGD("OcSecureResource_doOwnershipTransfer");
     if (!jListener)
     {
-        ThrowOcException(OC_STACK_INVALID_PARAM, "provisionResultListener cannot be null");
+        ThrowOcException(OC_STACK_INVALID_CALLBACK, "provisionResultListener cannot be null");
         return;
     }
 
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        ThrowOcException(OC_STACK_ERROR, "getJniOcSecureResourcePtr failed");
         return;
     }
 
@@ -445,13 +449,14 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcSecureResource_removeDevice
 
     if (!jListener)
     {
-        ThrowOcException(OC_STACK_INVALID_PARAM, "provisionResultListener cannot be null");
+        ThrowOcException(OC_STACK_INVALID_CALLBACK, "provisionResultListener cannot be null");
         return;
     }
 
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        ThrowOcException(OC_STACK_ERROR, "getJniOcSecureResourcePtr failed");
         return;
     }
 
@@ -480,15 +485,21 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcSecureResource_unlinkDevices
 (JNIEnv *env, jobject thiz, jobject device2, jobject jListener)
 {
     LOGD("OcSecureResource_unlinkDevices");
-    if (!jListener || !device2)
+    if (!jListener)
+    {
+        ThrowOcException(OC_STACK_INVALID_CALLBACK, "provisionResultListener cannot be null");
+        return;
+    }
+    if (!device2)
     {
-        ThrowOcException(OC_STACK_INVALID_PARAM, "provisionResultListener or device2 cannot be null");
+        ThrowOcException(OC_STACK_INVALID_PARAM, "device2 cannot be null");
         return;
     }
 
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        ThrowOcException(OC_STACK_ERROR, "getJniOcSecureResourcePtr failed");
         return;
     }
 
@@ -517,15 +528,21 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcSecureResource_provisionCredenti
 (JNIEnv *env, jobject thiz, jint type, jint keySize, jobject device2, jobject jListener)
 {
     LOGD("OcSecureResource_provisionCredentials");
-    if (!jListener || !device2)
+    if (!jListener)
     {
-        ThrowOcException(OC_STACK_INVALID_PARAM, "provisionResultListener or device2 cannot be null");
+        ThrowOcException(OC_STACK_INVALID_CALLBACK, "provisionResultListener cannot be null");
+        return;
+    }
+    if (!device2)
+    {
+        ThrowOcException(OC_STACK_INVALID_PARAM, "device2 cannot be null");
         return;
     }
 
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        ThrowOcException(OC_STACK_ERROR, "getJniOcSecureResourcePtr failed");
         return;
     }
 
@@ -555,15 +572,21 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcSecureResource_provisionACL
 (JNIEnv *env, jobject thiz, jobject acl, jobject jListener)
 {
     LOGD("OcSecureResource_provisionACL");
-    if (!jListener || !acl)
+    if (!jListener)
     {
-        ThrowOcException(OC_STACK_INVALID_PARAM, "provisionResultListener or acl cannot be null");
+        ThrowOcException(OC_STACK_INVALID_CALLBACK, "provisionResultListener cannot be null");
+        return;
+    }
+    if (!acl)
+    {
+        ThrowOcException(OC_STACK_INVALID_PARAM, "acl cannot be null");
         return;
     }
 
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        ThrowOcException(OC_STACK_ERROR, "getJniOcSecureResourcePtr failed");
         return;
     }
 
@@ -593,15 +616,21 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcSecureResource_provisionPairwise
         jobject acl2, jobject jListener)
 {
     LOGD("OcSecureResource_provisionPairwiseDevices");
-    if (!jListener || !device2)
+    if (!jListener)
     {
-        ThrowOcException(OC_STACK_INVALID_PARAM, "Invalid Parameters");
+        ThrowOcException(OC_STACK_INVALID_CALLBACK, "Invalid Callback");
+        return;
+    }
+    if (!device2)
+    {
+        ThrowOcException(OC_STACK_INVALID_PARAM, "device2 cannot be null");
         return;
     }
 
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        ThrowOcException(OC_STACK_ERROR, "getJniOcSecureResourcePtr failed");
         return;
     }
 
@@ -632,7 +661,12 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcSecureResource_provisionDirectPa
     jint jedp, jobject jListener)
 {
     LOGD("OcSecureResource_provisionDirectPairing");
-    if (!jListener || !pdacls || !jpin || ! jprmType)
+    if (!jListener)
+    {
+        ThrowOcException(OC_STACK_INVALID_CALLBACK, "Invalid Callback");
+        return;
+    }
+    if (!pdacls || !jpin || ! jprmType)
     {
         ThrowOcException(OC_STACK_INVALID_PARAM, "Invalid Parameters");
         return;
@@ -642,6 +676,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_base_OcSecureResource_provisionDirectPa
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        ThrowOcException(OC_STACK_ERROR, "getJniOcSecureResourcePtr failed");
         return;
     }
 
@@ -685,6 +720,7 @@ JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcSecureResource_getLinkedDevic
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        ThrowOcException(OC_STACK_ERROR, "getJniOcSecureResourcePtr failed");
         return nullptr;
     }
 
@@ -718,6 +754,7 @@ JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcSecureResource_getIpAddr
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        LOGD("getJniOcSecureResourcePtr failed");
         return nullptr;
     }
 
@@ -736,6 +773,7 @@ JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcSecureResource_getDeviceID
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        LOGD("getJniOcSecureResourcePtr failed");
         return nullptr;
     }
 
@@ -754,6 +792,7 @@ JNIEXPORT jint JNICALL Java_org_iotivity_base_OcSecureResource_deviceStatus
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        LOGD("getJniOcSecureResourcePtr failed");
         return -1;
     }
 
@@ -772,6 +811,7 @@ JNIEXPORT jint JNICALL Java_org_iotivity_base_OcSecureResource_ownedStatus
     JniOcSecureResource *secureResource = JniOcSecureResource::getJniOcSecureResourcePtr(env, thiz);
     if (!secureResource)
     {
+        LOGD("getJniOcSecureResourcePtr failed");
         return -1;
     }