[IOT-1751]Adding Log tag for JNI of Notification Service
authorabitha.s <abitha.s@samsung.com>
Mon, 16 Jan 2017 08:51:47 +0000 (14:21 +0530)
committerUze Choi <uzchoi@samsung.com>
Tue, 17 Jan 2017 04:58:38 +0000 (04:58 +0000)
1. Logs are added with TAG for fetching JNI logs
2. error is renamed for the case of Incorrect input value as JNI_INVALID_VALUE

Change-Id: I80e611cfdafdf7785c227db66d07cd7a517d505c
Signed-off-by: abitha.s <abitha.s@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/16431
Reviewed-by: Uze Choi <uzchoi@samsung.com>
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
service/notification/android/notification-service/src/main/jni/common/JniNotificationCommon.cpp
service/notification/android/notification-service/src/main/jni/common/JniNotificationCommon.h
service/notification/android/notification-service/src/main/jni/consumer/JniNotificationConsumer.cpp
service/notification/android/notification-service/src/main/jni/provider/JniNotificationProvider.cpp

index 5f8bea9..e56c558 100755 (executable)
@@ -57,6 +57,7 @@ static const char *NSResultToChar(const int nsresult)
 jobject getNSException(JNIEnv *env, const char *file, const char *functionName,\r
                        const int line, const int code, const char *message)\r
 {\r
+    LOGE (TAG,"Failed : %s" , message );\r
     const char *codeChar = NSResultToChar(code);\r
     if (codeChar[0] == '\0')\r
     {\r
@@ -93,7 +94,7 @@ int NSExceptionInit(JNIEnv *env)
 {\r
     if (!env)\r
     {\r
-        LOGE ("JNIEnv is null");\r
+        LOGE (TAG,"JNIEnv is null");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -102,7 +103,7 @@ int NSExceptionInit(JNIEnv *env)
                                   "org/iotivity/service/ns/common/NSException");\r
     if (!localNSException)\r
     {\r
-        LOGE ("Failed to get local NSException");\r
+        LOGE (TAG,"Failed to get local NSException");\r
         return JNI_ERR;\r
     }\r
     g_cls_NSException = (jclass)env->NewGlobalRef(localNSException);\r
@@ -112,7 +113,7 @@ int NSExceptionInit(JNIEnv *env)
                              "<init>", "(Ljava/lang/String;Ljava/lang/String;)V");\r
     if (!g_mid_NSException_ctor)\r
     {\r
-        LOGE ("Failed to Get MethodID");\r
+        LOGE (TAG,"Failed to Get MethodID");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -121,7 +122,7 @@ int NSExceptionInit(JNIEnv *env)
             "(Ljava/lang/String;Ljava/lang/String;I)V");\r
     if (!g_mid_NSException_setNativeExceptionLocation)\r
     {\r
-        LOGE ("Failed to Get MethodID");\r
+        LOGE (TAG,"Failed to Get MethodID");\r
         return JNI_ERR;\r
     }\r
 \r
index 595d355..a972b53 100755 (executable)
@@ -25,7 +25,7 @@
 #include <android/log.h>\r
 \r
 \r
-#define  LOG_TAG    "Notification_Common"\r
+#define  TAG    "NotificationService_JNI"\r
 \r
 #define JNI_CURRENT_VERSION JNI_VERSION_1_6\r
 \r
index bbee81d..85550e7 100755 (executable)
@@ -54,7 +54,7 @@ static JNIEnv *GetJNIEnv(jint *ret)
         case JNI_EDETACHED:\r
             if (g_jvm_consumer->AttachCurrentThread(&env, NULL) != JNI_OK)\r
             {\r
-                LOGE ("Failed to get the environment");\r
+                LOGE (TAG,"Failed to get the environment");\r
                 return NULL;\r
             }\r
             else\r
@@ -62,17 +62,17 @@ static JNIEnv *GetJNIEnv(jint *ret)
                 return env;\r
             }\r
         case JNI_EVERSION:\r
-            LOGE ("JNI version is not supported");\r
+            LOGE (TAG,"JNI version is not supported");\r
             return NULL;\r
         default:\r
-            LOGE ("Failed to get the environment");\r
+            LOGE (TAG,"Failed to get the environment");\r
             return NULL;\r
     }\r
 }\r
 \r
 jobject getJavaProviderState(JNIEnv *env, OIC::Service::NSProviderState state)\r
 {\r
-    LOGD ("ConsumerService_getJavaProviderState - IN");\r
+    LOGD (TAG,"ConsumerService_getJavaProviderState - IN");\r
     jobject providerState = NULL;\r
     switch (state)\r
     {\r
@@ -110,19 +110,19 @@ jobject getJavaProviderState(JNIEnv *env, OIC::Service::NSProviderState state)
                 break;\r
             }\r
     }\r
-    LOGD ("ConsumerService_getJavaProviderState - OUT");\r
+    LOGD (TAG,"ConsumerService_getJavaProviderState - OUT");\r
     return providerState;\r
 }\r
 \r
 jobject getJavaSyncType(JNIEnv *env, OIC::Service::NSSyncInfo::NSSyncType nsType)\r
 {\r
-    LOGD ("ConsumerService_getJavaSyncType - IN");\r
+    LOGD (TAG,"ConsumerService_getJavaSyncType - IN");\r
 \r
     // SyncType\r
     jclass cls_SyncType = (jclass) (env->NewLocalRef(g_cls_SyncType));\r
     if (!cls_SyncType)\r
     {\r
-        LOGE ("Failed to Get ObjectClass for SyncType");\r
+        LOGE (TAG,"Failed to Get ObjectClass for SyncType");\r
         return NULL;\r
     }\r
     jobject syncType = NULL;\r
@@ -156,19 +156,19 @@ jobject getJavaSyncType(JNIEnv *env, OIC::Service::NSSyncInfo::NSSyncType nsType
             }\r
     }\r
 \r
-    LOGD ("ConsumerService_getJavaSyncType - OUT");\r
+    LOGD (TAG,"ConsumerService_getJavaSyncType - OUT");\r
     return syncType;\r
 }\r
 \r
 jobject getJavaTopicState(JNIEnv *env, OIC::Service::NSTopic::NSTopicState nsState)\r
 {\r
-    LOGD ("ConsumerService_getJavaTopicState - IN");\r
+    LOGD (TAG,"ConsumerService_getJavaTopicState - IN");\r
 \r
     // TopicState\r
     jclass cls_topicState = (jclass) (env->NewLocalRef(g_cls_TopicState));\r
     if (!cls_topicState)\r
     {\r
-        LOGE ("Failed to Get ObjectClass for TopicState Type");\r
+        LOGE (TAG,"Failed to Get ObjectClass for TopicState Type");\r
         return NULL;\r
     }\r
     jobject topicState = NULL;\r
@@ -196,36 +196,36 @@ jobject getJavaTopicState(JNIEnv *env, OIC::Service::NSTopic::NSTopicState nsSta
             }\r
     }\r
 \r
-    LOGD ("ConsumerService_getJavaTopicState - OUT");\r
+    LOGD (TAG,"ConsumerService_getJavaTopicState - OUT");\r
     return topicState;\r
 }\r
 \r
 jobject getJavaTopicsList(JNIEnv *env, OIC::Service::NSTopicsList *topicList)\r
 {\r
-    LOGD ("ConsumerService_getJavaTopicsList - IN");\r
+    LOGD (TAG,"ConsumerService_getJavaTopicsList - IN");\r
     jclass cls_topicList = (jclass) (env->NewLocalRef(g_cls_TopicsList));\r
     if (!cls_topicList)\r
     {\r
-        LOGE ("Failed to Get ObjectClass for TopicsList");\r
+        LOGE (TAG,"Failed to Get ObjectClass for TopicsList");\r
         return NULL;\r
     }\r
     jmethodID mid_topicList = env->GetMethodID(cls_topicList, "<init>", "()V");\r
     if (!mid_topicList)\r
     {\r
-        LOGE ("Failed to Get MethodID for TopicsList<init>");\r
+        LOGE (TAG,"Failed to Get MethodID for TopicsList<init>");\r
         return NULL;\r
     }\r
     jobject obj_topicList = env->NewObject(cls_topicList, mid_topicList);\r
     if (!obj_topicList)\r
     {\r
-        LOGE ("Failed to Get object for TopicsList");\r
+        LOGE (TAG,"Failed to Get object for TopicsList");\r
         return NULL;\r
     }\r
     jmethodID mid_addTopic = env->GetMethodID(cls_topicList, "addTopic",\r
                              "(Ljava/lang/String;Lorg/iotivity/service/ns/common/Topic$TopicState;)V");\r
     if (!mid_addTopic)\r
     {\r
-        LOGE ("Failed to Get MethodID for addTopic");\r
+        LOGE (TAG,"Failed to Get MethodID for addTopic");\r
         return NULL;\r
     }\r
     for (auto it : topicList->getTopicsList())\r
@@ -236,20 +236,20 @@ jobject getJavaTopicsList(JNIEnv *env, OIC::Service::NSTopicsList *topicList)
         env->CallVoidMethod(obj_topicList, mid_addTopic, jTopicName, jState);\r
     }\r
     env->DeleteLocalRef(cls_topicList);\r
-    LOGD ("ConsumerService_getJavaTopicsList - OUT");\r
+    LOGD (TAG,"ConsumerService_getJavaTopicsList - OUT");\r
     return obj_topicList;\r
 }\r
 \r
 bool getNativeTopicState(JNIEnv *env,  jobject jTopic , OIC::Service::NSTopic::NSTopicState &state )\r
 {\r
-    LOGD ("ConsumerService_getNativeTopicState - IN");\r
+    LOGD (TAG,"ConsumerService_getNativeTopicState - IN");\r
 \r
     jclass cls_topic = env->GetObjectClass( jTopic);\r
     // TopicState\r
     jclass cls_TopicState = (jclass) (env->NewLocalRef(g_cls_TopicState));\r
     if (!cls_TopicState)\r
     {\r
-        LOGE ("Failed to Get ObjectClass for cls_TopicState Type");\r
+        LOGE (TAG,"Failed to Get ObjectClass for cls_TopicState Type");\r
         return false;\r
     }\r
     jmethodID mid = env->GetMethodID(cls_TopicState, "ordinal", "()I");\r
@@ -257,35 +257,35 @@ bool getNativeTopicState(JNIEnv *env,  jobject jTopic , OIC::Service::NSTopic::N
                                           "Lorg/iotivity/service/ns/common/Topic$TopicState;");\r
     if (fid_state == NULL)\r
     {\r
-        LOGE("Error: jfieldID for state type  is null");\r
+        LOGE (TAG,"Error: jfieldID for state type  is null");\r
         return false;\r
     }\r
     jobject jobj = env->GetObjectField( jTopic, fid_state);\r
     if (jobj == NULL)\r
     {\r
-        LOGE("Error: object of field  state Type is null");\r
+        LOGE (TAG,"Error: object of field  state Type is null");\r
         return false;\r
     }\r
     jint jState = env->CallIntMethod(jobj, mid);\r
     state = (OIC::Service::NSTopic::NSTopicState) jState;\r
-    LOGD ("ConsumerService_getNativeTopicState - OUT");\r
+    LOGD (TAG,"ConsumerService_getNativeTopicState - OUT");\r
     return true;\r
 \r
 }\r
 \r
 const char *getNativeTopicName(JNIEnv *env,  jobject jTopic)\r
 {\r
-    LOGD ("ConsumerService_getNativeTopicName - IN");\r
+    LOGD (TAG,"ConsumerService_getNativeTopicName - IN");\r
     jclass cls_topic = env->GetObjectClass( jTopic);\r
     if (cls_topic == NULL)\r
     {\r
-        LOGE("Error: Class for Topic is null");\r
+        LOGE (TAG,"Error: Class for Topic is null");\r
         return nullptr;\r
     }\r
     jfieldID fid_name = env->GetFieldID( cls_topic, "mTopicName", "Ljava/lang/String;");\r
     if (fid_name == NULL)\r
     {\r
-        LOGE("Error: jfieldID for Topic Name  is null");\r
+        LOGE (TAG,"Error: jfieldID for Topic Name  is null");\r
         return nullptr;\r
     }\r
     jstring jTopicName = (jstring) env->GetObjectField( jTopic, fid_name);\r
@@ -296,52 +296,52 @@ const char *getNativeTopicName(JNIEnv *env,  jobject jTopic)
     }\r
     else\r
     {\r
-        LOGI("Info: topicName is null");\r
+        LOGI(TAG, "Info: topicName is null");\r
     }\r
-    LOGD ("ConsumerService_getNativeTopicName - OUT");\r
+    LOGD (TAG,"ConsumerService_getNativeTopicName - OUT");\r
     return topicName;\r
 \r
 }\r
 \r
 OIC::Service::NSTopicsList *getNativeTopicsList(JNIEnv *env, jobject jTopicList)\r
 {\r
-    LOGD ("ConsumerService_getNativeTopicsList - IN");\r
+    LOGD (TAG,"ConsumerService_getNativeTopicsList - IN");\r
 \r
     jclass cls_topicList = env->GetObjectClass( jTopicList);\r
     if (cls_topicList == NULL)\r
     {\r
-        LOGE("Error: Class for Topic List  is null");\r
+        LOGE (TAG,"Error: Class for Topic List  is null");\r
         return nullptr;\r
     }\r
     jfieldID fid_list = env->GetFieldID( cls_topicList, "mTopicsList", "Ljava/util/Vector;");\r
     if (fid_list == NULL)\r
     {\r
-        LOGE("Error: jfieldID for Topic List  is null");\r
+        LOGE (TAG,"Error: jfieldID for Topic List  is null");\r
         return nullptr;\r
     }\r
     jobject jobj = env->GetObjectField( jTopicList, fid_list);\r
     if (jobj == NULL)\r
     {\r
-        LOGE("Error: object of field  Topic List is null");\r
+        LOGE (TAG,"Error: object of field  Topic List is null");\r
         return nullptr;\r
     }\r
     jclass cls_vec = env->FindClass("java/util/Vector");\r
     if (cls_vec == NULL)\r
     {\r
-        LOGE("Error: Class for Vector not found");\r
+        LOGE (TAG,"Error: Class for Vector not found");\r
         return nullptr;\r
     }\r
     jmethodID sizeMethod = env->GetMethodID(cls_vec,  "size", "()I");\r
     if (sizeMethod == NULL)\r
     {\r
-        LOGE("Error: MethodId for Vector Size  not found");\r
+        LOGE (TAG,"Error: MethodId for Vector Size  not found");\r
         return nullptr;\r
     }\r
     int size = env->CallIntMethod(jobj, sizeMethod);\r
     jmethodID getMethod = env->GetMethodID(cls_vec,  "get", "(I)Ljava/lang/Object;");\r
     if (getMethod == NULL)\r
     {\r
-        LOGE("Error: MethodId for Vector get  not found");\r
+        LOGE (TAG,"Error: MethodId for Vector get  not found");\r
         return nullptr;\r
     }\r
     OIC::Service::NSTopicsList *nsTopicList = new OIC::Service::NSTopicsList();\r
@@ -350,14 +350,14 @@ OIC::Service::NSTopicsList *getNativeTopicsList(JNIEnv *env, jobject jTopicList)
         jobject topicObj = env->CallObjectMethod(jobj, getMethod, index);\r
         if (topicObj == NULL)\r
         {\r
-            LOGE("Error: object of field  Topic  is null");\r
+            LOGE (TAG,"Error: object of field  Topic  is null");\r
             delete nsTopicList;\r
             return nullptr;\r
         }\r
         const char *name =  getNativeTopicName(env, topicObj);\r
         if (name == nullptr)\r
         {\r
-            LOGE("Error: Couldn't find topic Name");\r
+            LOGE (TAG,"Error: Couldn't find topic Name");\r
             delete nsTopicList;\r
             return nullptr;\r
         }\r
@@ -373,51 +373,51 @@ OIC::Service::NSTopicsList *getNativeTopicsList(JNIEnv *env, jobject jTopicList)
 \r
     env->DeleteLocalRef(cls_vec);\r
     env->DeleteLocalRef(cls_topicList);\r
-    LOGD ("ConsumerService_getNativeTopicsList - OUT");\r
+    LOGD (TAG,"ConsumerService_getNativeTopicsList - OUT");\r
     return nsTopicList;\r
 }\r
 \r
 OIC::Service::NSProvider *getNativeProvider(JNIEnv *env, jobject jObj)\r
 {\r
-    LOGD ("ConsumerService_getNativeProvider - IN");\r
+    LOGD (TAG,"ConsumerService_getNativeProvider - IN");\r
     jclass providerClass = env->GetObjectClass(jObj);\r
     if (!providerClass)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to Get ObjectClass for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to Get ObjectClass for Provider");\r
         return NULL;\r
     }\r
     jfieldID jproviderId = env->GetFieldID(providerClass, "mProviderId", "Ljava/lang/String;");\r
     if (!jproviderId)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to get providerId for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to get providerId for Provider");\r
         return NULL;\r
     }\r
     jstring jprovider_id = (jstring) env->GetObjectField(jObj, jproviderId);\r
     if (!jprovider_id)\r
     {\r
-        ThrowNSException(NS_ERROR, "ProviderId cannot be null");\r
+        ThrowNSException(JNI_INVALID_VALUE, "ProviderId cannot be null");\r
         return NULL;\r
     }\r
 \r
     const char *providerId = env->GetStringUTFChars(jprovider_id, 0);\r
-    LOGD ("ProviderId : %s\n", providerId);\r
+    LOGD (TAG,"ProviderId : %s\n", providerId);\r
 \r
     OIC::Service::NSProvider *provider =\r
         OIC::Service::NSConsumerService::getInstance()->getProvider(std::string(providerId));\r
     if (provider == nullptr)\r
     {\r
-        ThrowNSException(NS_ERROR, "Provider with Given Id doesn't exist");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Provider with Given Id doesn't exist");\r
         return NULL;\r
     }\r
     env->ReleaseStringUTFChars(jprovider_id, providerId);\r
-    LOGD ("ConsumerService_getNativeProvider - OUT");\r
+    LOGD (TAG,"ConsumerService_getNativeProvider - OUT");\r
     return provider;\r
 }\r
 \r
 jobject getJavaProvider(JNIEnv *env, OIC::Service::NSProvider *provider)\r
 {\r
-    LOGD ("ConsumerService_getJavaProvider - IN");\r
-    LOGD ("ProviderId : %s\n", provider->getProviderId().c_str());\r
+    LOGD (TAG,"ConsumerService_getJavaProvider - IN");\r
+    LOGD (TAG,"ProviderId : %s\n", provider->getProviderId().c_str());\r
 \r
     jstring jProviderId = env->NewStringUTF(provider->getProviderId().c_str());\r
     jlong pProvider = (long)provider;\r
@@ -425,39 +425,39 @@ jobject getJavaProvider(JNIEnv *env, OIC::Service::NSProvider *provider)
     jclass cls_provider = (jclass) (env->NewLocalRef(g_cls_Provider));\r
     if (!cls_provider)\r
     {\r
-        LOGE ("Failed to Get ObjectClass for Provider");\r
+        LOGE (TAG,"Failed to Get ObjectClass for Provider");\r
         return NULL;\r
     }\r
     jmethodID mid_provider = env->GetMethodID(\r
                                  cls_provider, "<init>", "(Ljava/lang/String;)V");\r
     if (!mid_provider)\r
     {\r
-        LOGE ("Failed to Get MethodID for Provider<init>");\r
+        LOGE (TAG,"Failed to Get MethodID for Provider<init>");\r
         return NULL;\r
     }\r
     jobject obj_provider = env->NewObject(cls_provider, mid_provider, jProviderId);\r
     if (!obj_provider)\r
     {\r
-        LOGE("Failed to create new Object for Provider");\r
+        LOGE (TAG,"Failed to create new Object for Provider");\r
         return NULL;\r
     }\r
 \r
     jfieldID nativeHandle = env->GetFieldID(cls_provider, "mNativeHandle", "J");\r
     if (!nativeHandle)\r
     {\r
-        LOGE("Failed to get nativeHandle for Provider");\r
+        LOGE (TAG,"Failed to get nativeHandle for Provider");\r
         return NULL;\r
     }\r
     env->SetLongField(obj_provider, nativeHandle, pProvider);\r
 \r
     env->DeleteLocalRef(cls_provider);\r
-    LOGD ("ConsumerService_getJavaProvider - OUT");\r
+    LOGD (TAG,"ConsumerService_getJavaProvider - OUT");\r
     return obj_provider;\r
 }\r
 \r
 jobject getJavaMessageType(JNIEnv *env, OIC::Service::NSMessage::NSMessageType type)\r
 {\r
-    LOGD ("ConsumerService_getJavaMessageType - IN");\r
+    LOGD (TAG,"ConsumerService_getJavaMessageType - IN");\r
     jobject messageType = NULL;\r
     switch (type)\r
     {\r
@@ -495,18 +495,18 @@ jobject getJavaMessageType(JNIEnv *env, OIC::Service::NSMessage::NSMessageType t
                 break;\r
             }\r
     }\r
-    LOGD ("ConsumerService_getJavaMessageType - OUT");\r
+    LOGD (TAG,"ConsumerService_getJavaMessageType - OUT");\r
     return messageType;\r
 }\r
 \r
 jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)\r
 {\r
-    LOGD ("ConsumerService_getJavaMessage - IN");\r
+    LOGD (TAG,"ConsumerService_getJavaMessage - IN");\r
 \r
-    LOGD ("id : %llu\n", message->getMessageId());\r
-    LOGD ("title : %s\n", message->getTitle().c_str());\r
-    LOGD ("content : %s\n", message->getContentText().c_str());\r
-    LOGD ("source : %s\n", message->getSourceName().c_str());\r
+    LOGD (TAG,"id : %llu\n", message->getMessageId());\r
+    LOGD (TAG,"title : %s\n", message->getTitle().c_str());\r
+    LOGD (TAG,"content : %s\n", message->getContentText().c_str());\r
+    LOGD (TAG,"source : %s\n", message->getSourceName().c_str());\r
 \r
     jlong jMessageId = (jlong) message->getMessageId();\r
     jstring jProviderId = env->NewStringUTF(message->getProviderId().c_str());\r
@@ -523,7 +523,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jclass cls_message = (jclass) (env->NewLocalRef(g_cls_Message));\r
     if (!cls_message)\r
     {\r
-        LOGE ("Failed to Get ObjectClass for Message");\r
+        LOGE (TAG,"Failed to Get ObjectClass for Message");\r
         return NULL ;\r
     }\r
     jmethodID mid_message = env->GetMethodID(\r
@@ -531,20 +531,20 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
                                 "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V");\r
     if (!mid_message)\r
     {\r
-        LOGE ("Failed to Get MethodID for Message<init>");\r
+        LOGE (TAG,"Failed to Get MethodID for Message<init>");\r
         return NULL;\r
     }\r
     jobject obj_message = env->NewObject(cls_message, mid_message,\r
                                          jTitle, jContentText, jSourceName);\r
     if (!obj_message)\r
     {\r
-        LOGE ("Failed to Get Java Object for Message");\r
+        LOGE (TAG,"Failed to Get Java Object for Message");\r
         return NULL;\r
     }\r
     jfieldID fid_nativeHandle = env->GetFieldID(cls_message, "mNativeHandle", "J");\r
     if (!fid_nativeHandle)\r
     {\r
-        LOGE("Failed to get nativeHandle for Message");\r
+        LOGE (TAG,"Failed to get nativeHandle for Message");\r
         return NULL;\r
     }\r
     env->SetLongField(obj_message, fid_nativeHandle, pMessage);\r
@@ -552,7 +552,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jfieldID fid_messageId = env->GetFieldID(cls_message, "mMessageId", "J");\r
     if (!fid_messageId)\r
     {\r
-        LOGE("Failed to get field MessageID for Message");\r
+        LOGE (TAG,"Failed to get field MessageID for Message");\r
         return NULL;\r
     }\r
     env->SetLongField(obj_message, fid_messageId, jMessageId);\r
@@ -560,7 +560,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jfieldID fid_providerId = env->GetFieldID(cls_message, "mProviderId", "Ljava/lang/String;");\r
     if (!fid_providerId)\r
     {\r
-        LOGE("Failed to get field ProviderID for Message");\r
+        LOGE (TAG,"Failed to get field ProviderID for Message");\r
         return NULL;\r
     }\r
     env->SetObjectField(obj_message, fid_providerId, jProviderId);\r
@@ -568,7 +568,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jfieldID fid_time = env->GetFieldID(cls_message, "mTime", "Ljava/lang/String;");\r
     if (!fid_time)\r
     {\r
-        LOGE("Failed to get field Time for Message");\r
+        LOGE (TAG,"Failed to get field Time for Message");\r
         return NULL;\r
     }\r
     env->SetObjectField(obj_message, fid_time, jTime);\r
@@ -576,7 +576,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jfieldID fid_ttl = env->GetFieldID(cls_message, "mTTL", "J");\r
     if (!fid_ttl)\r
     {\r
-        LOGE("Failed to get field TTL for Message");\r
+        LOGE (TAG,"Failed to get field TTL for Message");\r
         return NULL;\r
     }\r
     env->SetLongField(obj_message, fid_ttl, jTTL);\r
@@ -584,7 +584,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jfieldID fid_topic = env->GetFieldID(cls_message, "mTopic", "Ljava/lang/String;");\r
     if (!fid_topic)\r
     {\r
-        LOGE("Failed to get mTopic for Message");\r
+        LOGE (TAG,"Failed to get mTopic for Message");\r
         return NULL;\r
     }\r
     env->SetObjectField(obj_message, fid_topic, jTopic);\r
@@ -596,14 +596,14 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
         jclass cls_mediaContents = (jclass) (env->NewLocalRef(g_cls_MediaContents));\r
         if (!cls_mediaContents)\r
         {\r
-            LOGE ("Failed to Get ObjectClass for MediaContents");\r
+            LOGE (TAG,"Failed to Get ObjectClass for MediaContents");\r
             return NULL;\r
         }\r
         jmethodID mid_mediaContents = env->GetMethodID(\r
                                           cls_mediaContents, "<init>", "(Ljava/lang/String;)V");\r
         if (!mid_mediaContents)\r
         {\r
-            LOGE ("Failed to Get MethodID for MediaContents<init>");\r
+            LOGE (TAG,"Failed to Get MethodID for MediaContents<init>");\r
             return NULL;\r
         }\r
         jobject obj_mediaContents = env->NewObject(cls_mediaContents, mid_mediaContents,\r
@@ -613,7 +613,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
                                      "Lorg/iotivity/service/ns/common/MediaContents;");\r
         if (!fid_mediaContents)\r
         {\r
-            LOGE("Failed to get field mediaContents for Message");\r
+            LOGE (TAG,"Failed to get field mediaContents for Message");\r
             return NULL;\r
         }\r
         env->SetObjectField(obj_message, fid_mediaContents, obj_mediaContents);\r
@@ -627,13 +627,13 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
                                             "Lorg/iotivity/service/ns/common/Message$MessageType;");\r
         if (!fid_type)\r
         {\r
-            LOGE("Failed to get field Type for Message");\r
+            LOGE (TAG,"Failed to get field Type for Message");\r
             return NULL;\r
         }\r
         env->SetObjectField(obj_message, fid_type, jType);\r
     }\r
 \r
-    LOGD("Reading OCRepresentation Object from Native");\r
+    LOGD (TAG,"Reading OCRepresentation Object from Native");\r
 \r
     OC::OCRepresentation *ocRepresentation = new OC::OCRepresentation(message->getExtraInfo());\r
     jlong handle = reinterpret_cast<jlong>(ocRepresentation);\r
@@ -641,32 +641,32 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
                               handle, true);\r
     if (!jRepresentation)\r
     {\r
-        LOGE("Failed to create OcRepresentation");\r
+        LOGE (TAG,"Failed to create OcRepresentation");\r
         delete ocRepresentation;\r
     }\r
     else\r
     {\r
-        LOGD("Created OCRepresentation Object from Native");\r
+        LOGD (TAG,"Created OCRepresentation Object from Native");\r
     }\r
     jfieldID fid_extraInfo = env->GetFieldID(cls_message, "mExtraInfo",\r
                              "Lorg/iotivity/base/OcRepresentation;");\r
     if (!fid_extraInfo)\r
     {\r
-        LOGE("Failed to get mExtraInfo for Message");\r
+        LOGE (TAG,"Failed to get mExtraInfo for Message");\r
         delete ocRepresentation;\r
         return NULL;\r
     }\r
-    LOGD ("setting extraInfo field");\r
+    LOGD (TAG,"setting extraInfo field");\r
     env->SetObjectField(obj_message, fid_extraInfo, jRepresentation);\r
 \r
     env->DeleteLocalRef(cls_message);\r
-    LOGD ("ConsumerService_getJavaMessage - OUT");\r
+    LOGD (TAG,"ConsumerService_getJavaMessage - OUT");\r
     return obj_message;\r
 }\r
 \r
 void onDiscoverProvider(OIC::Service::NSProvider *provider)\r
 {\r
-    LOGD ("ConsumerService_onDiscoverProvider - IN");\r
+    LOGD (TAG,"ConsumerService_onDiscoverProvider - IN");\r
 \r
     jint envRet = 0;;\r
     JNIEnv *env = GetJNIEnv(&envRet);\r
@@ -678,7 +678,7 @@ void onDiscoverProvider(OIC::Service::NSProvider *provider)
     jobject jDiscoverListener = (jobject) env->NewLocalRef(g_obj_discoverListener);\r
     if (!jDiscoverListener)\r
     {\r
-        LOGE ("Failed to Get jDiscoverListener");\r
+        LOGE (TAG,"Failed to Get jDiscoverListener");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -689,7 +689,7 @@ void onDiscoverProvider(OIC::Service::NSProvider *provider)
     jobject obj_provider = getJavaProvider(env, provider);\r
     if (!obj_provider)\r
     {\r
-        LOGE ("Failed to Get Provider Object");\r
+        LOGE (TAG,"Failed to Get Provider Object");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -700,7 +700,7 @@ void onDiscoverProvider(OIC::Service::NSProvider *provider)
     jclass cls = env->GetObjectClass(jDiscoverListener);\r
     if (!cls)\r
     {\r
-        LOGE ("Failed to Get ObjectClass for jDiscoverListener");\r
+        LOGE (TAG,"Failed to Get ObjectClass for jDiscoverListener");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -713,7 +713,7 @@ void onDiscoverProvider(OIC::Service::NSProvider *provider)
                         "(Lorg/iotivity/service/ns/consumer/Provider;)V");\r
     if (!mid)\r
     {\r
-        LOGE ("Failed to Get MethodID for onProviderDiscovered");\r
+        LOGE (TAG,"Failed to Get MethodID for onProviderDiscovered");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -728,13 +728,13 @@ void onDiscoverProvider(OIC::Service::NSProvider *provider)
     {\r
         g_jvm_consumer->DetachCurrentThread();\r
     }\r
-    LOGD ("ConsumerService_onDiscoverProvider - OUT");\r
+    LOGD (TAG,"ConsumerService_onDiscoverProvider - OUT");\r
     return ;\r
 }\r
 \r
 void onProviderState( OIC::Service::NSProviderState state)\r
 {\r
-    LOGD ("ConsumerService_onProviderState -IN");\r
+    LOGD (TAG,"ConsumerService_onProviderState -IN");\r
 \r
     jint envRet = 0;;\r
     JNIEnv *env = GetJNIEnv(&envRet);\r
@@ -746,7 +746,7 @@ void onProviderState( OIC::Service::NSProviderState state)
     jobject jAcceptListener = (jobject) env->NewLocalRef(g_obj_acceptListener);\r
     if (!jAcceptListener)\r
     {\r
-        LOGE ("Failed to Get jAcceptListener");\r
+        LOGE (TAG,"Failed to Get jAcceptListener");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -756,7 +756,7 @@ void onProviderState( OIC::Service::NSProviderState state)
     jobject obj_state = getJavaProviderState(env, state);\r
     if (!obj_state)\r
     {\r
-        LOGE ("Failed to Get ProviderState Object");\r
+        LOGE (TAG,"Failed to Get ProviderState Object");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -767,7 +767,7 @@ void onProviderState( OIC::Service::NSProviderState state)
     jclass cls = env->GetObjectClass(jAcceptListener);\r
     if (!cls)\r
     {\r
-        LOGE ("Failed to Get ObjectClass for jAcceptListener");\r
+        LOGE (TAG,"Failed to Get ObjectClass for jAcceptListener");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -780,7 +780,7 @@ void onProviderState( OIC::Service::NSProviderState state)
                         "(Lorg/iotivity/service/ns/consumer/Provider$ProviderState;)V");\r
     if (!mid)\r
     {\r
-        LOGE ("Failed to Get MethodID for onProviderState");\r
+        LOGE (TAG,"Failed to Get MethodID for onProviderState");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -794,14 +794,14 @@ void onProviderState( OIC::Service::NSProviderState state)
     {\r
         g_jvm_consumer->DetachCurrentThread();\r
     }\r
-    LOGD ("ConsumerService_onProviderState -OUT");\r
+    LOGD (TAG,"ConsumerService_onProviderState -OUT");\r
     return ;\r
 \r
 }\r
 \r
 void onMessagePosted(OIC::Service::NSMessage *message)\r
 {\r
-    LOGD ("ConsumerService_onMessagePosted -IN");\r
+    LOGD (TAG,"ConsumerService_onMessagePosted -IN");\r
 \r
     jint envRet=0;;\r
     JNIEnv *env = GetJNIEnv(&envRet);\r
@@ -813,7 +813,7 @@ void onMessagePosted(OIC::Service::NSMessage *message)
     jobject jPostListener = (jobject) env->NewLocalRef(g_obj_postListener);\r
     if (!jPostListener)\r
     {\r
-        LOGE ("Failed to Get jPostListener");\r
+        LOGE (TAG,"Failed to Get jPostListener");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -824,7 +824,7 @@ void onMessagePosted(OIC::Service::NSMessage *message)
     jobject obj_message = getJavaMessage( env, message);\r
     if (!obj_message)\r
     {\r
-        LOGE ("Failed to Get Message Object");\r
+        LOGE (TAG,"Failed to Get Message Object");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -834,7 +834,7 @@ void onMessagePosted(OIC::Service::NSMessage *message)
     jclass cls = env->GetObjectClass(jPostListener);\r
     if (!cls)\r
     {\r
-        LOGE ("Failed to Get ObjectClass for jPostListener");\r
+        LOGE (TAG,"Failed to Get ObjectClass for jPostListener");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -847,7 +847,7 @@ void onMessagePosted(OIC::Service::NSMessage *message)
                         "(Lorg/iotivity/service/ns/common/Message;)V");\r
     if (!mid)\r
     {\r
-        LOGE ("Failed to Get MethodID for onMessageReceived");\r
+        LOGE (TAG,"Failed to Get MethodID for onMessageReceived");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -862,13 +862,13 @@ void onMessagePosted(OIC::Service::NSMessage *message)
     {\r
         g_jvm_consumer->DetachCurrentThread();\r
     }\r
-    LOGD ("ConsumerService_onMessagePosted -OUT");\r
+    LOGD (TAG,"ConsumerService_onMessagePosted -OUT");\r
     return ;\r
 }\r
 \r
 void onSyncInfoReceived(OIC::Service::NSSyncInfo *sync)\r
 {\r
-    LOGD ("ConsumerService_onSyncInfoReceived - IN");\r
+    LOGD (TAG,"ConsumerService_onSyncInfoReceived - IN");\r
 \r
     jint envRet=0;;\r
     JNIEnv *env = GetJNIEnv(&envRet);\r
@@ -880,7 +880,7 @@ void onSyncInfoReceived(OIC::Service::NSSyncInfo *sync)
     jobject jSyncListener = (jobject) env->NewLocalRef(g_obj_syncListener);\r
     if (!jSyncListener)\r
     {\r
-        LOGE ("Failed to Get jSyncListener");\r
+        LOGE (TAG,"Failed to Get jSyncListener");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -888,16 +888,16 @@ void onSyncInfoReceived(OIC::Service::NSSyncInfo *sync)
         return ;\r
     }\r
 \r
-    LOGD ("Sync ID : %llu\n", sync->getMessageId());\r
-    LOGD ("Sync ProviderId : %s\n", sync->getProviderId().c_str());\r
-    LOGD ("Sync STATE : %d\n", (int) sync->getState());\r
+    LOGD (TAG,"Sync ID : %llu\n", sync->getMessageId());\r
+    LOGD (TAG,"Sync ProviderId : %s\n", sync->getProviderId().c_str());\r
+    LOGD (TAG,"Sync STATE : %d\n", (int) sync->getState());\r
 \r
     jlong jMessageId = (jlong) sync->getMessageId();\r
     jstring jProviderId = env->NewStringUTF(sync->getProviderId().c_str());\r
     jobject syncType = getJavaSyncType(env, sync->getState());\r
     if (!syncType)\r
     {\r
-        LOGE ("Failed to Get syncType for SyncInfo");\r
+        LOGE (TAG,"Failed to Get syncType for SyncInfo");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -907,7 +907,7 @@ void onSyncInfoReceived(OIC::Service::NSSyncInfo *sync)
     jclass cls_SyncInfo = (jclass) (env->NewLocalRef(g_cls_SyncInfo));\r
     if (!cls_SyncInfo)\r
     {\r
-        LOGE ("Failed to Get ObjectClass for SyncInfo");\r
+        LOGE (TAG,"Failed to Get ObjectClass for SyncInfo");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -920,7 +920,7 @@ void onSyncInfoReceived(OIC::Service::NSSyncInfo *sync)
                                  "(JLjava/lang/String;Lorg/iotivity/service/ns/common/SyncInfo$SyncType;)V");\r
     if (!mid_syncInfo)\r
     {\r
-        LOGE ("Failed to Get MethodID for SyncInfo");\r
+        LOGE (TAG,"Failed to Get MethodID for SyncInfo");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -932,7 +932,7 @@ void onSyncInfoReceived(OIC::Service::NSSyncInfo *sync)
                                            jMessageId, jProviderId, syncType);\r
     if (!obj_syncInfo)\r
     {\r
-        LOGE ("Failed to Get Object for SyncInfo");\r
+        LOGE (TAG,"Failed to Get Object for SyncInfo");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -943,7 +943,7 @@ void onSyncInfoReceived(OIC::Service::NSSyncInfo *sync)
     jclass cls = env->GetObjectClass(jSyncListener);\r
     if (!cls)\r
     {\r
-        LOGE ("Failed to Get ObjectClass for jSyncListener");\r
+        LOGE (TAG,"Failed to Get ObjectClass for jSyncListener");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -956,7 +956,7 @@ void onSyncInfoReceived(OIC::Service::NSSyncInfo *sync)
                         "(Lorg/iotivity/service/ns/common/SyncInfo;)V");\r
     if (!mid)\r
     {\r
-        LOGE ("Failed to Get MethodID for onSyncInfoReceived");\r
+        LOGE (TAG,"Failed to Get MethodID for onSyncInfoReceived");\r
         if (JNI_EDETACHED == envRet)\r
         {\r
             g_jvm_consumer->DetachCurrentThread();\r
@@ -972,18 +972,18 @@ void onSyncInfoReceived(OIC::Service::NSSyncInfo *sync)
     {\r
         g_jvm_consumer->DetachCurrentThread();\r
     }\r
-    LOGD ("ConsumerService_onSyncInfoReceived - OUT");\r
+    LOGD (TAG,"ConsumerService_onSyncInfoReceived - OUT");\r
     return ;\r
 }\r
 \r
 JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_ConsumerService_nativeStart\r
 (JNIEnv *env, jobject jObj, jobject jDiscoverListener)\r
 {\r
-    LOGD ("ConsumerService_StartConsumer - IN");\r
+    LOGD (TAG,"ConsumerService_StartConsumer - IN");\r
     if (!jDiscoverListener)\r
     {\r
-        ThrowNSException(NS_ERROR, "Listener cannot be null");\r
-        return ;\r
+        ThrowNSException(JNI_INVALID_VALUE, "Listener cannot be null");\r
+        return;\r
     }\r
     if (g_obj_discoverListener != NULL)\r
     {\r
@@ -991,8 +991,14 @@ JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_ConsumerService_nat
     }\r
     g_obj_discoverListener = (jobject) env->NewGlobalRef(jDiscoverListener);\r
 \r
-    OIC::Service::NSConsumerService::getInstance()->start(onDiscoverProvider);\r
-    LOGD ("ConsumerService_StartConsumer - OUT");\r
+    OIC::Service::NSResult result  = OIC::Service::NSConsumerService::getInstance()->start(onDiscoverProvider);\r
+\r
+    if (result !=  OIC::Service::NSResult::OK)\r
+    {\r
+        ThrowNSException((int) result, "Fail to start ConsumerService");\r
+        return;\r
+    }\r
+    LOGD (TAG,"ConsumerService_StartConsumer - OUT");\r
     return;\r
 \r
 }\r
@@ -1000,7 +1006,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_ConsumerService_nat
 JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_ConsumerService_nativeStop\r
 (JNIEnv *env, jobject jObj)\r
 {\r
-    LOGD ("ConsumerService_StopConsumer - IN");\r
+    LOGD (TAG,"ConsumerService_StopConsumer - IN");\r
 \r
     env->DeleteGlobalRef(g_obj_postListener);\r
     env->DeleteGlobalRef(g_obj_syncListener);\r
@@ -1010,8 +1016,14 @@ JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_ConsumerService_nat
     g_obj_syncListener = NULL;\r
     g_obj_discoverListener = NULL;\r
     g_obj_acceptListener = NULL;\r
-    OIC::Service::NSConsumerService::getInstance()->stop();\r
-    LOGD ("ConsumerService_StopConsumer - OUT");\r
+    OIC::Service::NSResult result  = OIC::Service::NSConsumerService::getInstance()->stop();\r
+\r
+    if (result !=  OIC::Service::NSResult::OK)\r
+    {\r
+        ThrowNSException((int) result, "Fail to Stop ConsumerService");\r
+        return;\r
+    }\r
+    LOGD (TAG,"ConsumerService_StopConsumer - OUT");\r
     return;\r
 }\r
 \r
@@ -1019,33 +1031,39 @@ JNIEXPORT jint JNICALL
 Java_org_iotivity_service_ns_consumer_ConsumerService_nativeEnableRemoteService\r
 (JNIEnv *env, jobject jObj, jstring jServerAddress)\r
 {\r
-    LOGD ("ConsumerService_EnableRemoteService - IN");\r
+    LOGD (TAG,"ConsumerService_EnableRemoteService - IN");\r
     if (!jServerAddress)\r
     {\r
-        ThrowNSException(NS_ERROR, "EnableRemoteService server address NULL");\r
+        ThrowNSException(JNI_INVALID_VALUE, "EnableRemoteService server address NULL");\r
         return (jint) OIC::Service::NSResult::ERROR;\r
     }\r
     const char *serverAddress = env->GetStringUTFChars(jServerAddress, 0);\r
-    OIC::Service::NSResult res =\r
+    OIC::Service::NSResult result =\r
         OIC::Service::NSConsumerService::getInstance()->enableRemoteService(std::string(serverAddress));\r
+\r
+    if (result !=  OIC::Service::NSResult::OK)\r
+    {\r
+        ThrowNSException((int) result, "Fail to EnableRemoteService");\r
+        return (jint) result;\r
+    }\r
     env->ReleaseStringUTFChars(jServerAddress, serverAddress);\r
-    LOGD ("ConsumerService_EnableRemoteService - OUT");\r
-    return (jint) res;\r
+    LOGD (TAG,"ConsumerService_EnableRemoteService - OUT");\r
+    return (jint) result;\r
 }\r
 \r
 JNIEXPORT jint JNICALL\r
 Java_org_iotivity_service_ns_consumer_ConsumerService_nativeSubscribeMQService\r
 (JNIEnv *env, jobject jObj, jstring jserverAddress, jstring jTopicName)\r
 {\r
-    LOGD("ConsumerService: nativeSubscribeMQService - IN");\r
+    LOGD (TAG,"ConsumerService: nativeSubscribeMQService - IN");\r
     if (!jserverAddress)\r
     {\r
-        ThrowNSException(NS_ERROR, "Server Address Can't be NULL");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Server Address Can't be NULL");\r
         return (jint) OIC::Service::NSResult::ERROR;\r
     }\r
     if (!jTopicName)\r
     {\r
-        ThrowNSException(NS_ERROR, "TopicName Can't be NULL");\r
+        ThrowNSException(JNI_INVALID_VALUE, "TopicName Can't be NULL");\r
         return (jint) OIC::Service::NSResult::ERROR;\r
     }\r
 \r
@@ -1059,20 +1077,26 @@ Java_org_iotivity_service_ns_consumer_ConsumerService_nativeSubscribeMQService
             servAddress, topicName);\r
     if (result !=  OIC::Service::NSResult::OK)\r
     {\r
-        LOGE("Fail to Subscribe to MQ Service");\r
+        ThrowNSException((int) result, "Fail to Subscribe to MQ Service");\r
+        return (jint) result;\r
     }\r
     env->ReleaseStringUTFChars(jserverAddress, address);\r
     env->ReleaseStringUTFChars(jTopicName, topic);\r
-    LOGD("ConsumerService: nativeSubscribeMQService - OUT");\r
+    LOGD (TAG,"ConsumerService: nativeSubscribeMQService - OUT");\r
     return (jint) result;\r
 }\r
 \r
 JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_ConsumerService_nativeRescanProvider\r
 (JNIEnv *env, jobject jObj)\r
 {\r
-    LOGD ("ConsumerService_RescanProvider - IN");\r
-    OIC::Service::NSConsumerService::getInstance()->rescanProvider();\r
-    LOGD ("ConsumerService_RescanProvider - OUT");\r
+    LOGD (TAG,"ConsumerService_RescanProvider - IN");\r
+    OIC::Service::NSResult result  = OIC::Service::NSConsumerService::getInstance()->rescanProvider();\r
+    if (result !=  OIC::Service::NSResult::OK)\r
+    {\r
+        ThrowNSException((int) result, "Fail to RescanProvider");\r
+        return;\r
+    }\r
+    LOGD (TAG,"ConsumerService_RescanProvider - OUT");\r
     return;\r
 \r
 }\r
@@ -1080,128 +1104,146 @@ JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_ConsumerService_nat
 JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeSubscribe\r
 (JNIEnv *env, jobject jObj)\r
 {\r
-    LOGD ("Provider_Subscribe -IN");\r
+    LOGD (TAG,"Provider_Subscribe -IN");\r
+    OIC::Service::NSResult result  = OIC::Service::NSResult::ERROR;\r
     jclass providerClass = env->GetObjectClass(jObj);\r
     if (!providerClass)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to Get ObjectClass for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to Get ObjectClass for Provider");\r
         return ;\r
     }\r
 \r
     jfieldID nativeHandle = env->GetFieldID(providerClass, "mNativeHandle", "J");\r
     if (!nativeHandle)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to get nativeHandle for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to get nativeHandle for Provider");\r
         return ;\r
     }\r
     jlong jProvider = env->GetLongField(jObj, nativeHandle);\r
     if (jProvider)\r
     {\r
-        LOGD ("calling subscribe on mNativeHandle");\r
+        LOGD (TAG,"calling subscribe on mNativeHandle");\r
         OIC::Service::NSProvider *provider = (OIC::Service::NSProvider *) (jProvider);\r
-        provider->subscribe();\r
+        result  = provider->subscribe();\r
     }\r
     else\r
     {\r
         OIC::Service::NSProvider *provider = getNativeProvider(env, jObj);\r
         if (provider == nullptr)\r
         {\r
-            ThrowNSException(NS_ERROR, "Provider with Given Id doesn't exist");\r
+            ThrowNSException(JNI_INVALID_VALUE, "Provider with Given Id doesn't exist");\r
             return;\r
         }\r
-        LOGD ("calling subscribe on ProviderID");\r
-        provider->subscribe();\r
+        LOGD (TAG,"calling subscribe on ProviderID");\r
+        result  = provider->subscribe();\r
+    }\r
+    if (result !=  OIC::Service::NSResult::OK)\r
+    {\r
+        ThrowNSException((int) result, "Fail to Subscribe Provider");\r
+        return;\r
     }\r
-    LOGD ("Provider_Subscribe -OUT");\r
+    LOGD (TAG,"Provider_Subscribe -OUT");\r
     return;\r
 }\r
 \r
 JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeUnsubscribe\r
 (JNIEnv *env, jobject jObj)\r
 {\r
-    LOGD ("Provider_UnSubscribe -IN");\r
+    LOGD (TAG,"Provider_UnSubscribe -IN");\r
+    OIC::Service::NSResult result  = OIC::Service::NSResult::ERROR;\r
     jclass providerClass = env->GetObjectClass(jObj);\r
     if (!providerClass)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to Get ObjectClass for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to Get ObjectClass for Provider");\r
         return ;\r
     }\r
 \r
     jfieldID nativeHandle = env->GetFieldID(providerClass, "mNativeHandle", "J");\r
     if (!nativeHandle)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to get nativeHandle for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to get nativeHandle for Provider");\r
         return ;\r
     }\r
     jlong jProvider = env->GetLongField(jObj, nativeHandle);\r
     if (jProvider)\r
     {\r
-        LOGD ("calling subscribe on mNativeHandle");\r
+        LOGD (TAG,"calling subscribe on mNativeHandle");\r
         OIC::Service::NSProvider *provider = (OIC::Service::NSProvider *) (jProvider);\r
-        provider->unsubscribe();\r
+        result  = provider->unsubscribe();\r
     }\r
     else\r
     {\r
         OIC::Service::NSProvider *provider = getNativeProvider(env, jObj);\r
         if (provider == nullptr)\r
         {\r
-            ThrowNSException(NS_ERROR, "Provider with Given Id doesn't exist");\r
+            ThrowNSException(JNI_INVALID_VALUE, "Provider with Given Id doesn't exist");\r
             return;\r
         }\r
-        LOGD ("calling subscribe on ProviderID");\r
-        provider->unsubscribe();\r
+        LOGD (TAG,"calling subscribe on ProviderID");\r
+        result  = provider->unsubscribe();\r
     }\r
-    LOGD ("Provider_UnSubscribe -OUT");\r
+    if (result !=  OIC::Service::NSResult::OK)\r
+    {\r
+        ThrowNSException((int) result, "Fail to UnSubscribe Provider");\r
+        return;\r
+    }\r
+    LOGD (TAG,"Provider_UnSubscribe -OUT");\r
     return;\r
 }\r
 \r
 JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeSendSyncInfo\r
 (JNIEnv *env, jobject jObj, jlong jMessageId, jint jSyncType)\r
 {\r
-    LOGD ("Provider_SendSyncInfo - IN");\r
+    LOGD (TAG,"Provider_SendSyncInfo - IN");\r
+    OIC::Service::NSResult result  = OIC::Service::NSResult::ERROR;\r
     if (!jMessageId)\r
     {\r
-        ThrowNSException(NS_ERROR, "MessageId cannot be 0");\r
+        ThrowNSException(JNI_INVALID_VALUE, "MessageId cannot be 0");\r
         return ;\r
     }\r
 \r
     jclass providerClass = env->GetObjectClass(jObj);\r
     if (!providerClass)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to Get ObjectClass for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to Get ObjectClass for Provider");\r
         return ;\r
     }\r
 \r
     jfieldID nativeHandle = env->GetFieldID(providerClass, "mNativeHandle", "J");\r
     if (!nativeHandle)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to get nativeHandle for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to get nativeHandle for Provider");\r
         return ;\r
     }\r
     uint64_t messageId = (uint64_t) jMessageId;\r
 \r
-    LOGD("!!!!!!jMessageId: %lld", jMessageId);\r
-    LOGD("!!!!!!messageId: %lld", messageId);\r
+    LOGD (TAG,"!!!!!!jMessageId: %lld", jMessageId);\r
+    LOGD (TAG,"!!!!!!messageId: %lld", messageId);\r
 \r
     jlong jProvider = env->GetLongField(jObj, nativeHandle);\r
     if (jProvider)\r
     {\r
-        LOGD ("calling SendSyncInfo on mNativeHandle");\r
+        LOGD (TAG,"calling SendSyncInfo on mNativeHandle");\r
         OIC::Service::NSProvider *provider = (OIC::Service::NSProvider *) (jProvider);\r
-        provider->sendSyncInfo(messageId, (OIC::Service::NSSyncInfo::NSSyncType)jSyncType);\r
+        result  = provider->sendSyncInfo(messageId, (OIC::Service::NSSyncInfo::NSSyncType)jSyncType);\r
     }\r
     else\r
     {\r
         OIC::Service::NSProvider *provider = getNativeProvider(env, jObj);\r
         if (provider == nullptr)\r
         {\r
-            ThrowNSException(NS_ERROR, "Provider with Given Id doesn't exist");\r
+            ThrowNSException(JNI_INVALID_VALUE, "Provider with Given Id doesn't exist");\r
             return;\r
         }\r
-        LOGD ("calling SendSyncInfo on ProviderID");\r
-        provider->sendSyncInfo(messageId, (OIC::Service::NSSyncInfo::NSSyncType)jSyncType);\r
+        LOGD (TAG,"calling SendSyncInfo on ProviderID");\r
+        result  = provider->sendSyncInfo(messageId, (OIC::Service::NSSyncInfo::NSSyncType)jSyncType);\r
+    }\r
+    if (result !=  OIC::Service::NSResult::OK)\r
+    {\r
+        ThrowNSException((int) result, "Fail to Send sync info");\r
+        return;\r
     }\r
-    LOGD ("Provider_SendSyncInfo - OUT");\r
+    LOGD (TAG,"Provider_SendSyncInfo - OUT");\r
     return;\r
 }\r
 \r
@@ -1209,30 +1251,30 @@ JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeSend
 JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeSetListener\r
 (JNIEnv *env, jobject jObj, jobject jAcceptListener, jobject jPostListener, jobject jSyncListener)\r
 {\r
-    LOGD ("Provider_SetListener - IN");\r
+    LOGD (TAG,"Provider_SetListener - IN");\r
     if (!jPostListener || !jSyncListener || !jAcceptListener)\r
     {\r
-        ThrowNSException(NS_ERROR, "Listener cannot be null");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Listener cannot be null");\r
         return ;\r
     }\r
 \r
     jclass providerClass = env->GetObjectClass(jObj);\r
     if (!providerClass)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to Get ObjectClass for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to Get ObjectClass for Provider");\r
         return ;\r
     }\r
 \r
     jfieldID nativeHandle = env->GetFieldID(providerClass, "mNativeHandle", "J");\r
     if (!nativeHandle)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to get nativeHandle for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to get nativeHandle for Provider");\r
         return ;\r
     }\r
     jlong jProvider = env->GetLongField(jObj, nativeHandle);\r
     if (jProvider)\r
     {\r
-        LOGD ("calling SetListener on mNativeHandle");\r
+        LOGD (TAG,"calling SetListener on mNativeHandle");\r
         if (g_obj_acceptListener != NULL)\r
         {\r
             env->DeleteGlobalRef(g_obj_acceptListener);\r
@@ -1257,10 +1299,10 @@ JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeSetL
         OIC::Service::NSProvider *provider = getNativeProvider(env, jObj);\r
         if (provider == nullptr)\r
         {\r
-            ThrowNSException(NS_ERROR, "Provider with Given Id doesn't exist");\r
+            ThrowNSException(JNI_INVALID_VALUE, "Provider with Given Id doesn't exist");\r
             return;\r
         }\r
-        LOGD ("calling SetListener on ProviderID");\r
+        LOGD (TAG,"calling SetListener on ProviderID");\r
         if (g_obj_acceptListener != NULL)\r
         {\r
             env->DeleteGlobalRef(g_obj_acceptListener);\r
@@ -1279,32 +1321,32 @@ JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeSetL
 \r
         provider->setListener(onProviderState, onMessagePosted, onSyncInfoReceived);\r
     }\r
-    LOGD ("Provider_SetListener - OUT");\r
+    LOGD (TAG,"Provider_SetListener - OUT");\r
     return;\r
 }\r
 \r
 JNIEXPORT jobject JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeGetTopicList\r
 (JNIEnv *env, jobject jObj)\r
 {\r
-    LOGD("Provider_nativeGetTopicList - IN");\r
+    LOGD (TAG,"Provider_nativeGetTopicList - IN");\r
     jclass providerClass = env->GetObjectClass(jObj);\r
     if (!providerClass)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to Get ObjectClass for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to Get ObjectClass for Provider");\r
         return NULL;\r
     }\r
 \r
     jfieldID nativeHandle = env->GetFieldID(providerClass, "mNativeHandle", "J");\r
     if (!nativeHandle)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to get nativeHandle for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to get nativeHandle for Provider");\r
         return NULL;\r
     }\r
     jlong jProvider = env->GetLongField(jObj, nativeHandle);\r
     OIC::Service::NSTopicsList *topicList = nullptr;\r
     if (jProvider)\r
     {\r
-        LOGD ("calling subscribe on mNativeHandle");\r
+        LOGD (TAG,"calling subscribe on mNativeHandle");\r
         OIC::Service::NSProvider *provider = (OIC::Service::NSProvider *) (jProvider);\r
         topicList = provider->getTopicList();\r
     }\r
@@ -1313,59 +1355,58 @@ JNIEXPORT jobject JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeG
         OIC::Service::NSProvider *provider = getNativeProvider(env, jObj);\r
         if (provider == nullptr)\r
         {\r
-            ThrowNSException(NS_ERROR, "Provider with Given Id doesn't exist");\r
+            ThrowNSException(JNI_INVALID_VALUE, "Provider with Given Id doesn't exist");\r
             return NULL;\r
         }\r
-        LOGD ("calling subscribe on ProviderID");\r
+        LOGD (TAG,"calling subscribe on ProviderID");\r
         topicList = provider->getTopicList();\r
     }\r
     if (topicList == nullptr)\r
     {\r
-        ThrowNSException(NS_ERROR, "Topic List doesn't exist");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Topic List doesn't exist");\r
         return NULL;\r
     }\r
 \r
     jobject obj_topicList = getJavaTopicsList(env, topicList);\r
 \r
-    LOGD("Provider_nativeGetTopicList - OUT");\r
+    LOGD (TAG,"Provider_nativeGetTopicList - OUT");\r
     return obj_topicList;\r
 }\r
 \r
 JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeUpdateTopicList\r
 (JNIEnv *env, jobject jObj, jobject jTopicsList)\r
 {\r
-    LOGD("Provider_nativeUpdateTopicList -IN");\r
+    LOGD (TAG,"Provider_nativeUpdateTopicList -IN");\r
     if (!jTopicsList)\r
     {\r
-        LOGI("Fail to update Interest Topics - Topic List is null");\r
-        ThrowNSException(NS_ERROR, "TopicList cannot be null");\r
+        ThrowNSException(JNI_INVALID_VALUE, "TopicList cannot be null");\r
         return (jint) OIC::Service::NSResult::ERROR;\r
     }\r
     OIC::Service::NSTopicsList *nsTopicsList = getNativeTopicsList(env, jTopicsList);\r
     if (nsTopicsList == nullptr)\r
     {\r
-        ThrowNSException(NS_ERROR, "NSTopicList cannot be created ");\r
+        ThrowNSException(JNI_INVALID_VALUE, "NSTopicList cannot be created ");\r
         return (jint) OIC::Service::NSResult::ERROR;\r
     }\r
 \r
     jclass providerClass = env->GetObjectClass(jObj);\r
     if (!providerClass)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to Get ObjectClass for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to Get ObjectClass for Provider");\r
         return  (jint) OIC::Service::NSResult::ERROR;\r
     }\r
 \r
     jfieldID nativeHandle = env->GetFieldID(providerClass, "mNativeHandle", "J");\r
     if (!nativeHandle)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to get nativeHandle for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to get nativeHandle for Provider");\r
         return  (jint) OIC::Service::NSResult::ERROR;\r
     }\r
     jlong jProvider = env->GetLongField(jObj, nativeHandle);\r
-    OIC::Service::NSResult result = OIC::Service::NSResult::FAIL;\r
+    OIC::Service::NSResult result = OIC::Service::NSResult::ERROR;\r
     if (jProvider)\r
     {\r
-        LOGD ("calling subscribe on mNativeHandle");\r
+        LOGD (TAG,"calling subscribe on mNativeHandle");\r
         OIC::Service::NSProvider *provider = (OIC::Service::NSProvider *) (jProvider);\r
         result = provider->updateTopicList(nsTopicsList);\r
     }\r
@@ -1374,42 +1415,43 @@ JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeUpda
         OIC::Service::NSProvider *provider = getNativeProvider(env, jObj);\r
         if (provider == nullptr)\r
         {\r
-            ThrowNSException(NS_ERROR, "Provider with Given Id doesn't exist");\r
+            ThrowNSException(JNI_INVALID_VALUE, "Provider with Given Id doesn't exist");\r
             return (jint) OIC::Service::NSResult::ERROR;\r
         }\r
-        LOGD ("calling subscribe on ProviderID");\r
+        LOGD (TAG,"calling subscribe on ProviderID");\r
         result = provider->updateTopicList(nsTopicsList);\r
     }\r
     if (result !=  OIC::Service::NSResult::OK)\r
     {\r
-        LOGI("Fail to Update Interest Topics");\r
+        ThrowNSException((int) result, "Fail to Update Interest Topics");\r
+        return (jint) result;\r
     }\r
-    LOGD("Provider_nativeUpdateTopicList -OUT");\r
+    LOGD (TAG,"Provider_nativeUpdateTopicList -OUT");\r
     return (jint) result;\r
 }\r
 \r
 JNIEXPORT jobject JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeGetProviderState\r
 (JNIEnv *env, jobject jObj)\r
 {\r
-    LOGD("Provider_nativeGetProviderState - IN");\r
+    LOGD (TAG,"Provider_nativeGetProviderState - IN");\r
     jclass providerClass = env->GetObjectClass(jObj);\r
     if (!providerClass)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to Get ObjectClass for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to Get ObjectClass for Provider");\r
         return NULL;\r
     }\r
 \r
     jfieldID nativeHandle = env->GetFieldID(providerClass, "mNativeHandle", "J");\r
     if (!nativeHandle)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to get nativeHandle for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to get nativeHandle for Provider");\r
         return NULL;\r
     }\r
     jlong jProvider = env->GetLongField(jObj, nativeHandle);\r
     OIC::Service::NSProviderState state = OIC::Service::NSProviderState::DENY;\r
     if (jProvider)\r
     {\r
-        LOGD ("calling getProviderState on mNativeHandle");\r
+        LOGD (TAG,"calling getProviderState on mNativeHandle");\r
         OIC::Service::NSProvider *provider = (OIC::Service::NSProvider *) (jProvider);\r
         state = provider->getProviderState();\r
     }\r
@@ -1418,39 +1460,39 @@ JNIEXPORT jobject JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeG
         OIC::Service::NSProvider *provider = getNativeProvider(env, jObj);\r
         if (provider == nullptr)\r
         {\r
-            ThrowNSException(NS_ERROR, "Provider with Given Id doesn't exist");\r
+            ThrowNSException(JNI_INVALID_VALUE, "Provider with Given Id doesn't exist");\r
             return NULL;\r
         }\r
-        LOGD ("calling getProviderState on ProviderID");\r
+        LOGD (TAG,"calling getProviderState on ProviderID");\r
         state = provider->getProviderState();\r
     }\r
     jobject obj_state = getJavaProviderState(env, state);\r
 \r
-    LOGD("Provider_nativeGetProviderState - OUT");\r
+    LOGD (TAG,"Provider_nativeGetProviderState - OUT");\r
     return obj_state;\r
 }\r
 \r
 JNIEXPORT jboolean JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeIsSubscribed\r
 (JNIEnv *env, jobject jObj)\r
 {\r
-    LOGD("nativeIsSubscribed - IN");\r
+    LOGD (TAG,"nativeIsSubscribed - IN");\r
     jclass providerClass = env->GetObjectClass(jObj);\r
     if (!providerClass)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to Get ObjectClass for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to Get ObjectClass for Provider");\r
         return (jboolean)false;\r
     }\r
 \r
     jfieldID nativeHandle = env->GetFieldID(providerClass, "mNativeHandle", "J");\r
     if (!nativeHandle)\r
     {\r
-        ThrowNSException(NS_ERROR, "Failed to get nativeHandle for Provider");\r
+        ThrowNSException(JNI_INVALID_VALUE, "Failed to get nativeHandle for Provider");\r
         return (jboolean)false;\r
     }\r
     jlong jProvider = env->GetLongField(jObj, nativeHandle);\r
     if (jProvider)\r
     {\r
-        LOGD ("calling isSubscribe on mNativeHandle");\r
+        LOGD (TAG,"calling isSubscribe on mNativeHandle");\r
         OIC::Service::NSProvider *provider = (OIC::Service::NSProvider *) (jProvider);\r
         return (jboolean) provider->isSubscribed();\r
     }\r
@@ -1459,10 +1501,10 @@ JNIEXPORT jboolean JNICALL Java_org_iotivity_service_ns_consumer_Provider_native
         OIC::Service::NSProvider *provider = getNativeProvider(env, jObj);\r
         if (provider == nullptr)\r
         {\r
-            ThrowNSException(NS_ERROR, "Provider with Given Id doesn't exist");\r
+            ThrowNSException(JNI_INVALID_VALUE, "Provider with Given Id doesn't exist");\r
             return (jboolean)false;\r
         }\r
-        LOGD ("calling isSubscribe on ProviderID");\r
+        LOGD (TAG,"calling isSubscribe on ProviderID");\r
         return (jboolean) provider->isSubscribed();\r
     }\r
 }\r
@@ -1470,13 +1512,13 @@ JNIEXPORT jboolean JNICALL Java_org_iotivity_service_ns_consumer_Provider_native
 // JNI OnLoad\r
 JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)\r
 {\r
-    LOGD("ConsumerService_JNI_OnLoad");\r
+    LOGD (TAG,"ConsumerService_JNI_OnLoad");\r
     g_jvm_consumer = jvm;\r
 \r
     JNIEnv *env = NULL;\r
     if (jvm->GetEnv((void **)&env, JNI_CURRENT_VERSION) != JNI_OK)\r
     {\r
-        LOGE("Failed to get the environment using GetEnv()");\r
+        LOGE (TAG,"Failed to get the environment using GetEnv()");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -1484,13 +1526,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                               "org/iotivity/service/ns/common/Message");\r
     if (!localMessage)\r
     {\r
-        LOGE("Failed to get local Message class");\r
+        LOGE (TAG,"Failed to get local Message class");\r
         return JNI_ERR;\r
     }\r
     g_cls_Message = (jclass) (env->NewGlobalRef(localMessage));\r
     if (!g_cls_Message)\r
     {\r
-        LOGE("Failed to set Global Message reference");\r
+        LOGE (TAG,"Failed to set Global Message reference");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -1498,13 +1540,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                "org/iotivity/service/ns/consumer/Provider");\r
     if (!localProvider)\r
     {\r
-        LOGE("Failed to get local Provider class");\r
+        LOGE (TAG,"Failed to get local Provider class");\r
         return JNI_ERR;\r
     }\r
     g_cls_Provider = (jclass) (env->NewGlobalRef(localProvider));\r
     if (!g_cls_Provider)\r
     {\r
-        LOGE("Failed to set Global Provider reference");\r
+        LOGE (TAG,"Failed to set Global Provider reference");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -1512,13 +1554,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                "org/iotivity/service/ns/common/SyncInfo");\r
     if (!localSyncInfo)\r
     {\r
-        LOGE("Failed to get local SyncInfo class");\r
+        LOGE (TAG,"Failed to get local SyncInfo class");\r
         return JNI_ERR;\r
     }\r
     g_cls_SyncInfo = (jclass) (env->NewGlobalRef(localSyncInfo));\r
     if (!g_cls_SyncInfo)\r
     {\r
-        LOGE("Failed to set Global NSSyncInfo reference");\r
+        LOGE (TAG,"Failed to set Global NSSyncInfo reference");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -1526,13 +1568,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                "org/iotivity/service/ns/common/SyncInfo$SyncType");\r
     if (!localSyncType)\r
     {\r
-        LOGE("Failed to get local SyncType enum");\r
+        LOGE (TAG,"Failed to get local SyncType enum");\r
         return JNI_ERR;\r
     }\r
     g_cls_SyncType = (jclass) (env->NewGlobalRef(localSyncType));\r
     if (!g_cls_SyncType)\r
     {\r
-        LOGE("Failed to set Global SyncType reference");\r
+        LOGE (TAG,"Failed to set Global SyncType reference");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -1540,26 +1582,26 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                     "org/iotivity/service/ns/common/MediaContents");\r
     if (!localMediaContents)\r
     {\r
-        LOGE("Failed to get local MediaContents class");\r
+        LOGE (TAG,"Failed to get local MediaContents class");\r
         return JNI_ERR;\r
     }\r
     g_cls_MediaContents = (jclass) (env->NewGlobalRef(localMediaContents));\r
     if (!g_cls_MediaContents)\r
     {\r
-        LOGE("Failed to set Global MediaContents reference");\r
+        LOGE (TAG,"Failed to set Global MediaContents reference");\r
         return JNI_ERR;\r
     }\r
     jclass localTopicState = env->FindClass(\r
                                  "org/iotivity/service/ns/common/Topic$TopicState");\r
     if (!localTopicState)\r
     {\r
-        LOGE("Failed to get local TopicState enum");\r
+        LOGE (TAG,"Failed to get local TopicState enum");\r
         return JNI_ERR;\r
     }\r
     g_cls_TopicState = (jclass) (env->NewGlobalRef(localTopicState));\r
     if (!g_cls_TopicState)\r
     {\r
-        LOGE("Failed to set Global TopicState reference");\r
+        LOGE (TAG,"Failed to set Global TopicState reference");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -1567,13 +1609,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                             "org/iotivity/service/ns/common/Topic");\r
     if (!localTopic)\r
     {\r
-        LOGE("Failed to get local TopicState enum");\r
+        LOGE (TAG,"Failed to get local TopicState enum");\r
         return JNI_ERR;\r
     }\r
     g_cls_Topic = (jclass) (env->NewGlobalRef(localTopic));\r
     if (!g_cls_Topic)\r
     {\r
-        LOGE("Failed to set Global Topic reference");\r
+        LOGE (TAG,"Failed to set Global Topic reference");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -1581,13 +1623,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                   "org/iotivity/service/ns/common/Message$MessageType");\r
     if (!localMessageType)\r
     {\r
-        LOGE("Failed to get local Message Type class");\r
+        LOGE (TAG,"Failed to get local Message Type class");\r
         return JNI_ERR;\r
     }\r
     g_cls_Message_Type = (jclass) (env->NewGlobalRef(localMessageType));\r
     if (!g_cls_Message_Type)\r
     {\r
-        LOGE("Failed to set Global Message Type reference");\r
+        LOGE (TAG,"Failed to set Global Message Type reference");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -1595,13 +1637,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                     "org/iotivity/service/ns/consumer/Provider$ProviderState");\r
     if (!localProviderState)\r
     {\r
-        LOGE("Failed to get localProviderState  Type class");\r
+        LOGE (TAG,"Failed to get localProviderState  Type class");\r
         return JNI_ERR;\r
     }\r
     g_cls_ProviderState = (jclass) (env->NewGlobalRef(localProviderState));\r
     if (!g_cls_ProviderState)\r
     {\r
-        LOGE("Failed to set Global ProviderState Type reference");\r
+        LOGE (TAG,"Failed to set Global ProviderState Type reference");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -1609,33 +1651,33 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                  "org/iotivity/service/ns/common/TopicsList");\r
     if (!localTopicsList)\r
     {\r
-        LOGE("Failed to get local Topic class");\r
+        LOGE (TAG,"Failed to get local Topic class");\r
         return JNI_ERR;\r
     }\r
     g_cls_TopicsList = (jclass) (env->NewGlobalRef(localTopicsList));\r
     if (!g_cls_TopicsList)\r
     {\r
-        LOGE("Failed to set Global TopicsList reference");\r
+        LOGE (TAG,"Failed to set Global TopicsList reference");\r
         return JNI_ERR;\r
     }\r
     //OcRepresentation\r
     jclass localOcRepresentation = env->FindClass("org/iotivity/base/OcRepresentation");\r
     if (!localOcRepresentation)\r
     {\r
-        LOGE("Failed to get local OcRepresentation class");\r
+        LOGE (TAG,"Failed to get local OcRepresentation class");\r
         return JNI_ERR;\r
     }\r
     g_cls_OcRepresentation = (jclass) env->NewGlobalRef(localOcRepresentation);\r
     if (!g_cls_OcRepresentation)\r
     {\r
-        LOGE("Failed to set Global OcRepresentation reference");\r
+        LOGE (TAG,"Failed to set Global OcRepresentation reference");\r
         return JNI_ERR;\r
     }\r
 \r
     g_mid_OcRepresentation_N_ctor_bool = env->GetMethodID(g_cls_OcRepresentation, "<init>", "(JZ)V");\r
     if (!g_mid_OcRepresentation_N_ctor_bool)\r
     {\r
-        LOGE("Failed to get Global OcRepresentation Constructor reference");\r
+        LOGE (TAG,"Failed to get Global OcRepresentation Constructor reference");\r
         return JNI_ERR;\r
     }\r
 \r
@@ -1656,12 +1698,12 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
 \r
 JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *jvm, void *reserved)\r
 {\r
-    LOGI("ConsumerService_JNI_OnUnload");\r
+    LOGI (TAG,"ConsumerService_JNI_OnUnload");\r
     JNIEnv *env = NULL;\r
 \r
     if (jvm->GetEnv((void **)&env, JNI_CURRENT_VERSION) != JNI_OK)\r
     {\r
-        LOGE("Failed to get the environment using GetEnv()");\r
+        LOGE (TAG,"Failed to get the environment using GetEnv()");\r
         return ;\r
     }\r
 \r
index e227737..4673a3e 100755 (executable)
@@ -51,7 +51,7 @@ static JNIEnv *GetJNIEnv(jint *ret)
         case JNI_EDETACHED:
             if (g_jvm_provider->AttachCurrentThread(&env, NULL) != JNI_OK)
             {
-                LOGE ("Failed to get the environment");
+                LOGE (TAG,"Failed to get the environment");
                 return NULL;
             }
             else
@@ -59,17 +59,17 @@ static JNIEnv *GetJNIEnv(jint *ret)
                 return env;
             }
         case JNI_EVERSION:
-            LOGE ("JNI version is not supported");
+            LOGE (TAG,"JNI version is not supported");
             return NULL;
         default:
-            LOGE ("Failed to get the environment");
+            LOGE (TAG,"Failed to get the environment");
             return NULL;
     }
 }
 
 OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
 {
-    LOGD("JNIProviderService: getMessage - IN");
+    LOGD (TAG,"JNIProviderService: getMessage - IN");
 
     jclass cls = env->GetObjectClass( jMsg);
 
@@ -77,7 +77,7 @@ OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
     jclass cls_messageType = (jclass) (env->NewLocalRef(g_cls_Message_Type));
     if (!cls_messageType)
     {
-        LOGE ("Failed to Get ObjectClass for Message Type");
+        LOGE (TAG,"Failed to Get ObjectClass for Message Type");
         return nullptr;
     }
     jmethodID mid = env->GetMethodID(cls_messageType, "ordinal", "()I");
@@ -85,25 +85,25 @@ OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
                                          "Lorg/iotivity/service/ns/common/Message$MessageType;");
     if (fid_type == NULL)
     {
-        LOGE("Error: jfieldID for message type  is null");
+        LOGE (TAG,"Error: jfieldID for message type  is null");
         return nullptr;
     }
     jobject jobj = env->GetObjectField( jMsg, fid_type);
     if (jobj == NULL)
     {
-        LOGE("Error: object of field  Message Type is null");
+        LOGE (TAG,"Error: object of field  Message Type is null");
         return nullptr;
     }
     jint jtype = env->CallIntMethod(jobj, mid);
     OIC::Service::NSMessage::NSMessageType  type = (OIC::Service::NSMessage::NSMessageType) jtype;
 
-    LOGD("Message Type: %ld\n", (long )type);
+    LOGD (TAG,"Message Type: %ld\n", (long )type);
 
     // Message Time
     jfieldID fid_tm = env->GetFieldID( cls, "mTime", "Ljava/lang/String;");
     if (fid_tm == NULL)
     {
-        LOGE("Error: jfieldID for message time is null");
+        LOGE (TAG,"Error: jfieldID for message time is null");
         return nullptr;
     }
     jstring jtime = (jstring)env->GetObjectField( jMsg, fid_tm);
@@ -114,27 +114,27 @@ OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
     }
     else
     {
-        LOGD("Info: messageTitle is null");
+        LOGD (TAG,"Info: messageTitle is null");
     }
-    LOGD("Message Time: %s\n", time);
+    LOGD (TAG,"Message Time: %s\n", time);
 
     // Message TTL
     jfieldID fid_ttl = env->GetFieldID( cls, "mTTL", "J");
     if (fid_ttl == NULL)
     {
-        LOGE("Error: jfieldID for message ttl is null");
+        LOGE (TAG,"Error: jfieldID for message ttl is null");
         return nullptr;
     }
 
     jlong jttl = (jlong) env->GetLongField( jMsg, fid_ttl);
     uint64_t  ttl = jttl;
-    LOGD("TTL: %lld\n", ttl);
+    LOGD (TAG,"TTL: %lld\n", ttl);
 
     // Message Title
     jfieldID fid_title = env->GetFieldID( cls, "mTitle", "Ljava/lang/String;");
     if (fid_title == NULL)
     {
-        LOGE("Error: jfieldID for message title is null");
+        LOGE (TAG,"Error: jfieldID for message title is null");
         return nullptr;
     }
     jstring jmsgTitle = (jstring)env->GetObjectField( jMsg, fid_title);
@@ -145,15 +145,15 @@ OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
     }
     else
     {
-        LOGD("Info: messageTitle is null");
+        LOGD (TAG,"Info: messageTitle is null");
     }
-    LOGD("Message Title: %s\n", messageTitle);
+    LOGD (TAG,"Message Title: %s\n", messageTitle);
 
     // Message Content Text
     jfieldID fid_body = env->GetFieldID( cls, "mContentText", "Ljava/lang/String;");
     if (fid_body == NULL)
     {
-        LOGE("Error: jfieldID for message context Text is null");
+        LOGE (TAG,"Error: jfieldID for message context Text is null");
         return nullptr;
     }
     jstring jmsgBody = (jstring)env->GetObjectField( jMsg, fid_body);
@@ -164,15 +164,15 @@ OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
     }
     else
     {
-        LOGD("Info: messageBody is null");
+        LOGD (TAG,"Info: messageBody is null");
     }
-    LOGD("Message Body: %s\n", messageBody);
+    LOGD (TAG,"Message Body: %s\n", messageBody);
 
     // Message Source
     jfieldID fid_source = env->GetFieldID( cls, "mSourceName", "Ljava/lang/String;");
     if (fid_source == NULL)
     {
-        LOGE("Error: jfieldID for message source is null");
+        LOGE (TAG,"Error: jfieldID for message source is null");
         return nullptr;
     }
     jstring jmsgSource = (jstring)env->GetObjectField( jMsg, fid_source);
@@ -183,15 +183,15 @@ OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
     }
     else
     {
-        LOGD("Info: messageSource is null");
+        LOGD (TAG,"Info: messageSource is null");
     }
-    LOGD("Message Source: %s\n", messageSource);
+    LOGD (TAG,"Message Source: %s\n", messageSource);
 
     // Message Topic
     jfieldID fid_topic = env->GetFieldID( cls, "mTopic", "Ljava/lang/String;");
     if (fid_topic == NULL)
     {
-        LOGE("Error: jfieldID for topic  is null");
+        LOGE (TAG,"Error: jfieldID for topic  is null");
         return nullptr;
     }
     jstring jtopic = (jstring)env->GetObjectField( jMsg, fid_topic);
@@ -202,36 +202,36 @@ OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
     }
     else
     {
-        LOGD("Info: topic is null");
+        LOGD (TAG,"Info: topic is null");
     }
-    LOGD("Topic : %s\n", topic);
+    LOGD (TAG,"Topic : %s\n", topic);
 
     // Message MediaContents
     jfieldID fid_media = env->GetFieldID( cls, "mMediaContents",
                                           "Lorg/iotivity/service/ns/common/MediaContents;");
     if (fid_media == NULL)
     {
-        LOGE("Error: jfieldID for MediaContents is null");
+        LOGE (TAG,"Error: jfieldID for MediaContents is null");
         return nullptr;
     }
     jobject jmedia = env->GetObjectField( jMsg, fid_media);
     OIC::Service::NSMediaContents *media = nullptr;
     if (jmedia == NULL)
     {
-        LOGD("Info: jmedia object of MediaContents inside Message is null");
+        LOGD (TAG,"Info: jmedia object of MediaContents inside Message is null");
     }
     else
     {
         jclass cls_MediaContents = (jclass) (env->NewLocalRef(g_cls_MediaContents));
         if (!cls_MediaContents)
         {
-            LOGE ("Failed to Get ObjectClass for class MediaContents");
+            LOGE (TAG,"Failed to Get ObjectClass for class MediaContents");
             return nullptr;
         }
         jfieldID fid_icon = env->GetFieldID( cls_MediaContents, "mIconImage", "Ljava/lang/String;");
         if (fid_icon == NULL)
         {
-            LOGE("Error: jfieldID for iconImage is null");
+            LOGE (TAG,"Error: jfieldID for iconImage is null");
             return nullptr;
         }
         jstring jiconImage = (jstring)env->GetObjectField( jmedia, fid_icon);
@@ -244,10 +244,10 @@ OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
         }
         else
         {
-            LOGD("Info: iconImage is null");
+            LOGD (TAG,"Info: iconImage is null");
         }
         env->DeleteLocalRef(cls_MediaContents);
-        LOGD("iconImage: %s\n", iconImage);
+        LOGD (TAG,"iconImage: %s\n", iconImage);
     }
 
     // Message ExtraInfo
@@ -255,25 +255,25 @@ OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
                              "Lorg/iotivity/base/OcRepresentation;");
     if (fid_extraInfo == NULL)
     {
-        LOGE("Error: jfieldID for mExtraInfo is null");
+        LOGE (TAG,"Error: jfieldID for mExtraInfo is null");
         return nullptr;
     }
     jobject jExtraInfo = env->GetObjectField( jMsg, fid_extraInfo);
     OC::OCRepresentation *representation = nullptr;
     if (jExtraInfo == NULL)
     {
-        LOGE("Error: jExtraInfo object of Message is null");
+        LOGE (TAG,"Error: jExtraInfo object of Message is null");
     }
     else
     {
         representation = GetHandle<OC::OCRepresentation>(env, jExtraInfo);
         if (env->ExceptionCheck())
         {
-            LOGE("Failed to get native handle from OcRepresentation");
+            LOGE (TAG,"Failed to get native handle from OcRepresentation");
         }
         if (!representation)
         {
-            LOGE("Failed to get native object OcRepresentation");
+            LOGE (TAG,"Failed to get native object OcRepresentation");
         }
     }
 
@@ -281,13 +281,13 @@ OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
     jfieldID nativeHandle = env->GetFieldID(cls, "mNativeHandle", "J");
     if (!nativeHandle)
     {
-        LOGE("Error: fieldID for mNativeHandle is null");
+        LOGE (TAG,"Error: fieldID for mNativeHandle is null");
         return nullptr;
     }
     jlong jMessage = env->GetLongField(jMsg, nativeHandle);
     if (jMessage)
     {
-        LOGD ("calling sendMessage on mNativeHandle");
+        LOGD (TAG,"calling sendMessage on mNativeHandle");
         nsMsg = (OIC::Service::NSMessage *) (jMessage);
     }
     else
@@ -334,14 +334,14 @@ OIC::Service::NSMessage *getNativeMessage(JNIEnv *env, jobject jMsg)
         env->ReleaseStringUTFChars(jtopic, topic);
     }
 
-    LOGD("JNIProviderService: getMessage - OUT");
+    LOGD (TAG,"JNIProviderService: getMessage - OUT");
     return nsMsg;
 
 }
 
 jobject getJavaMessageType(JNIEnv *env, OIC::Service::NSMessage::NSMessageType type)
 {
-    LOGD ("JNIProviderService: getJavaMessageType - IN");
+    LOGD (TAG,"JNIProviderService: getJavaMessageType - IN");
     jobject messageType = NULL;
     switch (type)
     {
@@ -379,18 +379,18 @@ jobject getJavaMessageType(JNIEnv *env, OIC::Service::NSMessage::NSMessageType t
                 break;
             }
     }
-    LOGD ("JNIProviderService: getJavaMessageType - OUT");
+    LOGD (TAG,"JNIProviderService: getJavaMessageType - OUT");
     return messageType;
 }
 
 jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
 {
-    LOGD ("JNIProviderService: getJavaMessage - IN");
+    LOGD (TAG,"JNIProviderService: getJavaMessage - IN");
 
-    LOGD ("id : %llu\n", message->getMessageId());
-    LOGD ("title : %s\n", message->getTitle().c_str());
-    LOGD ("content : %s\n", message->getContentText().c_str());
-    LOGD ("source : %s\n", message->getSourceName().c_str());
+    LOGD (TAG,"id : %llu\n", message->getMessageId());
+    LOGD (TAG,"title : %s\n", message->getTitle().c_str());
+    LOGD (TAG,"content : %s\n", message->getContentText().c_str());
+    LOGD (TAG,"source : %s\n", message->getSourceName().c_str());
 
     jlong jMessageId = (jlong) message->getMessageId();
     jstring jProviderId = env->NewStringUTF(message->getProviderId().c_str());
@@ -407,7 +407,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jclass cls_message = (jclass) (env->NewLocalRef(g_cls_Message));
     if (!cls_message)
     {
-        LOGE ("Failed to Get ObjectClass for Message");
+        LOGE (TAG,"Failed to Get ObjectClass for Message");
         return NULL ;
     }
     jmethodID mid_message = env->GetMethodID(
@@ -415,20 +415,20 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
                                 "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V");
     if (!mid_message)
     {
-        LOGE ("Failed to Get MethodID for Message<init>");
+        LOGE (TAG,"Failed to Get MethodID for Message<init>");
         return NULL;
     }
     jobject obj_message = env->NewObject(cls_message, mid_message,
                                          jTitle, jContentText, jSourceName);
     if (!obj_message)
     {
-        LOGE ("Failed to Get Java Object for Message");
+        LOGE (TAG,"Failed to Get Java Object for Message");
         return NULL;
     }
     jfieldID fid_nativeHandle = env->GetFieldID(cls_message, "mNativeHandle", "J");
     if (!fid_nativeHandle)
     {
-        LOGE("Failed to get nativeHandle for Message");
+        LOGE (TAG,"Failed to get nativeHandle for Message");
         return NULL;
     }
     env->SetLongField(obj_message, fid_nativeHandle, pMessage);
@@ -436,7 +436,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jfieldID fid_messageId = env->GetFieldID(cls_message, "mMessageId", "J");
     if (!fid_messageId)
     {
-        LOGE("Failed to get field MessageID for Message");
+        LOGE (TAG,"Failed to get field MessageID for Message");
         return NULL;
     }
     env->SetLongField(obj_message, fid_messageId, jMessageId);
@@ -444,7 +444,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jfieldID fid_providerId = env->GetFieldID(cls_message, "mProviderId", "Ljava/lang/String;");
     if (!fid_providerId)
     {
-        LOGE("Failed to get field ProviderID for Message");
+        LOGE (TAG,"Failed to get field ProviderID for Message");
         return NULL;
     }
     env->SetObjectField(obj_message, fid_providerId, jProviderId);
@@ -452,7 +452,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jfieldID fid_time = env->GetFieldID(cls_message, "mTime", "Ljava/lang/String;");
     if (!fid_time)
     {
-        LOGE("Failed to get field Time for Message");
+        LOGE (TAG,"Failed to get field Time for Message");
         return NULL;
     }
     env->SetObjectField(obj_message, fid_time, jTime);
@@ -460,7 +460,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jfieldID fid_ttl = env->GetFieldID(cls_message, "mTTL", "J");
     if (!fid_ttl)
     {
-        LOGE("Failed to get field TTL for Message");
+        LOGE (TAG,"Failed to get field TTL for Message");
         return NULL;
     }
     env->SetLongField(obj_message, fid_ttl, jTTL);
@@ -468,7 +468,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
     jfieldID fid_topic = env->GetFieldID(cls_message, "mTopic", "Ljava/lang/String;");
     if (!fid_topic)
     {
-        LOGE("Failed to get mTopic for Message");
+        LOGE (TAG,"Failed to get mTopic for Message");
         return NULL;
     }
     env->SetObjectField(obj_message, fid_topic, jTopic);
@@ -480,14 +480,14 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
         jclass cls_mediaContents = (jclass) (env->NewLocalRef(g_cls_MediaContents));
         if (!cls_mediaContents)
         {
-            LOGE ("Failed to Get ObjectClass for MediaContents");
+            LOGE (TAG,"Failed to Get ObjectClass for MediaContents");
             return NULL;
         }
         jmethodID mid_mediaContents = env->GetMethodID(
                                           cls_mediaContents, "<init>", "(Ljava/lang/String;)V");
         if (!mid_mediaContents)
         {
-            LOGE ("Failed to Get MethodID for MediaContents<init>");
+            LOGE (TAG,"Failed to Get MethodID for MediaContents<init>");
             return NULL;
         }
         jobject obj_mediaContents = env->NewObject(cls_mediaContents, mid_mediaContents,
@@ -497,7 +497,7 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
                                      "Lorg/iotivity/service/ns/common/MediaContents;");
         if (!fid_mediaContents)
         {
-            LOGE("Failed to get field mediaContents for Message");
+            LOGE (TAG,"Failed to get field mediaContents for Message");
             return NULL;
         }
         env->SetObjectField(obj_message, fid_mediaContents, obj_mediaContents);
@@ -511,51 +511,51 @@ jobject getJavaMessage(JNIEnv *env, OIC::Service::NSMessage *message)
                                             "Lorg/iotivity/service/ns/common/Message$MessageType;");
         if (!fid_type)
         {
-            LOGE("Failed to get field Type for Message");
+            LOGE (TAG,"Failed to get field Type for Message");
             return NULL;
         }
         env->SetObjectField(obj_message, fid_type, jType);
     }
 
-    LOGD("Reading OCRepresentation Object from Native");
+    LOGD (TAG,"Reading OCRepresentation Object from Native");
     OC::OCRepresentation *ocRepresentation = new OC::OCRepresentation(message->getExtraInfo());
     jlong handle = reinterpret_cast<jlong>(ocRepresentation);
     jobject jRepresentation = env->NewObject(g_cls_OcRepresentation, g_mid_OcRepresentation_N_ctor_bool,
                               handle, true);
     if (!jRepresentation)
     {
-        LOGE("Failed to create OcRepresentation");
+        LOGE (TAG,"Failed to create OcRepresentation");
         delete ocRepresentation;
     }
     else
     {
-        LOGD("Created OCRepresentation Object from Native");
+        LOGD (TAG,"Created OCRepresentation Object from Native");
     }
     jfieldID fid_extraInfo = env->GetFieldID(cls_message, "mExtraInfo",
                              "Lorg/iotivity/base/OcRepresentation;");
     if (!fid_extraInfo)
     {
-        LOGE("Failed to get mExtraInfo for Message");
+        LOGE (TAG,"Failed to get mExtraInfo for Message");
         delete ocRepresentation;
         return NULL;
     }
-    LOGD ("setting extraInfo field");
+    LOGD (TAG,"setting extraInfo field");
     env->SetObjectField(obj_message, fid_extraInfo, jRepresentation);
 
     env->DeleteLocalRef(cls_message);
-    LOGD ("JNIProviderService: getJavaMessage - OUT");
+    LOGD (TAG,"JNIProviderService: getJavaMessage - OUT");
     return obj_message;
 }
 
 jobject getJavaTopicState(JNIEnv *env, OIC::Service::NSTopic::NSTopicState nsState)
 {
-    LOGD("JNIProviderService: getJavaTopicState - IN");
+    LOGD (TAG,"JNIProviderService: getJavaTopicState - IN");
 
     // TopicState
     jclass cls_topicState = (jclass) (env->NewLocalRef(g_cls_TopicState));
     if (!cls_topicState)
     {
-        LOGE ("Failed to Get ObjectClass for TopicState Type");
+        LOGE (TAG,"Failed to Get ObjectClass for TopicState Type");
         return NULL;
     }
     jobject topicState = NULL;
@@ -583,36 +583,36 @@ jobject getJavaTopicState(JNIEnv *env, OIC::Service::NSTopic::NSTopicState nsSta
             }
     }
 
-    LOGD("JNIProviderService: getJavaTopicState - OUT");
+    LOGD (TAG,"JNIProviderService: getJavaTopicState - OUT");
     return topicState;
 }
 
 jobject getJavaTopicsList(JNIEnv *env, OIC::Service::NSTopicsList *topicList)
 {
-    LOGD("JNIProviderService: getJavaTopicsList - IN");
+    LOGD (TAG,"JNIProviderService: getJavaTopicsList - IN");
     jclass cls_topicList = (jclass) (env->NewLocalRef(g_cls_TopicsList));
     if (!cls_topicList)
     {
-        LOGE ("Failed to Get ObjectClass for TopicsList");
+        LOGE (TAG,"Failed to Get ObjectClass for TopicsList");
         return NULL;
     }
     jmethodID mid_topicList = env->GetMethodID(cls_topicList, "<init>", "()V");
     if (!mid_topicList)
     {
-        LOGE ("Failed to Get MethodID for TopicsList<init>");
+        LOGE (TAG,"Failed to Get MethodID for TopicsList<init>");
         return NULL;
     }
     jobject obj_topicList = env->NewObject(cls_topicList, mid_topicList);
     if (!obj_topicList)
     {
-        LOGE ("Failed to Get object for TopicsList");
+        LOGE (TAG,"Failed to Get object for TopicsList");
         return NULL;
     }
     jmethodID mid_addTopic = env->GetMethodID(cls_topicList, "addTopic",
                              "(Ljava/lang/String;Lorg/iotivity/service/ns/common/Topic$TopicState;)V");
     if (!mid_addTopic)
     {
-        LOGE ("Failed to Get MethodID for addTopic");
+        LOGE (TAG,"Failed to Get MethodID for addTopic");
         return NULL;
     }
     for (auto it : topicList->getTopicsList())
@@ -623,19 +623,19 @@ jobject getJavaTopicsList(JNIEnv *env, OIC::Service::NSTopicsList *topicList)
         env->CallVoidMethod(obj_topicList, mid_addTopic, jTopicName, jState);
     }
     env->DeleteLocalRef(cls_topicList);
-    LOGD("JNIProviderService: getJavaTopicsList - OUT");
+    LOGD (TAG,"JNIProviderService: getJavaTopicsList - OUT");
     return obj_topicList;
 }
 
 jobject getJavaSyncType(JNIEnv *env, OIC::Service::NSSyncInfo::NSSyncType nsType)
 {
-    LOGD ("JNIProviderService: getJavaSyncType - IN");
+    LOGD (TAG,"JNIProviderService: getJavaSyncType - IN");
 
     // SyncType
     jclass cls_SyncType = (jclass) (env->NewLocalRef(g_cls_SyncType));
     if (!cls_SyncType)
     {
-        LOGE ("Failed to Get ObjectClass for SyncType");
+        LOGE (TAG,"Failed to Get ObjectClass for SyncType");
         return NULL;
     }
     jobject syncType = NULL;
@@ -669,14 +669,14 @@ jobject getJavaSyncType(JNIEnv *env, OIC::Service::NSSyncInfo::NSSyncType nsType
             }
     }
 
-    LOGD ("JNIProviderService: getJavaSyncType - OUT");
+    LOGD (TAG,"JNIProviderService: getJavaSyncType - OUT");
     return syncType;
 }
 
 
 void onSubscribeListenerCb(OIC::Service::NSConsumer *consumer)
 {
-    LOGD("JNIProviderService_onSubscribeListenerCb - IN");
+    LOGD (TAG,"JNIProviderService_onSubscribeListenerCb - IN");
 
     jint envRet = 0;;
     JNIEnv *env = GetJNIEnv(&envRet);
@@ -688,7 +688,7 @@ void onSubscribeListenerCb(OIC::Service::NSConsumer *consumer)
     jobject jSubscriptionListener = (jobject) env->NewLocalRef(g_obj_subscriptionListener);
     if (!jSubscriptionListener)
     {
-        LOGE ("Failed to Get jSubscriptionListener");
+        LOGE (TAG,"Failed to Get jSubscriptionListener");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -696,14 +696,14 @@ void onSubscribeListenerCb(OIC::Service::NSConsumer *consumer)
         return ;
     }
 
-    LOGD("consumer ID : %s\n", consumer->getConsumerId().c_str());
+    LOGD (TAG,"consumer ID : %s\n", consumer->getConsumerId().c_str());
 
     jstring jConsumerId = env->NewStringUTF( consumer->getConsumerId().c_str());
 
     jclass cls_consumer = (jclass) (env->NewLocalRef(g_cls_Consumer));
     if (!cls_consumer)
     {
-        LOGE ("Failed to Get ObjectClass for Consumer");
+        LOGE (TAG,"Failed to Get ObjectClass for Consumer");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -717,7 +717,7 @@ void onSubscribeListenerCb(OIC::Service::NSConsumer *consumer)
                                  "(Ljava/lang/String;)V");
     if (!mid_consumer)
     {
-        LOGE ("Failed to Get MethodID for Consumer<init>");
+        LOGE (TAG,"Failed to Get MethodID for Consumer<init>");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -729,7 +729,7 @@ void onSubscribeListenerCb(OIC::Service::NSConsumer *consumer)
     jclass cls = env->GetObjectClass( jSubscriptionListener);
     if (!cls)
     {
-        LOGE("Failed to Get ObjectClass of jSubscriptionListener");
+        LOGE (TAG,"Failed to Get ObjectClass of jSubscriptionListener");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -742,7 +742,7 @@ void onSubscribeListenerCb(OIC::Service::NSConsumer *consumer)
                         "(Lorg/iotivity/service/ns/provider/Consumer;)V");
     if (!mid)
     {
-        LOGE("Failed to Get MethodID of onConsumerSubscribed");
+        LOGE (TAG,"Failed to Get MethodID of onConsumerSubscribed");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -757,13 +757,13 @@ void onSubscribeListenerCb(OIC::Service::NSConsumer *consumer)
     {
         g_jvm_provider->DetachCurrentThread();
     }
-    LOGD("JNIProviderService_onSubscribeListenerCb - OUT");
+    LOGD (TAG,"JNIProviderService_onSubscribeListenerCb - OUT");
     return;
 }
 
 void onSyncInfoListenerCb(OIC::Service::NSSyncInfo *sync)
 {
-    LOGD("JNIProviderService_onSyncInfoListenerCb - IN");
+    LOGD (TAG,"JNIProviderService_onSyncInfoListenerCb - IN");
 
     jint envRet = 0;;
     JNIEnv *env = GetJNIEnv(&envRet);
@@ -775,7 +775,7 @@ void onSyncInfoListenerCb(OIC::Service::NSSyncInfo *sync)
     jobject jSyncListener = (jobject) env->NewLocalRef(g_obj_syncListener);
     if (!jSyncListener)
     {
-        LOGE ("Failed to Get jSyncListener");
+        LOGE (TAG,"Failed to Get jSyncListener");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -783,15 +783,15 @@ void onSyncInfoListenerCb(OIC::Service::NSSyncInfo *sync)
         return ;
     }
 
-    LOGD("Sync ID : %ld\n", (long) sync->getMessageId());
-    LOGD("Sync STATE : %d\n", (int) sync->getState());
+    LOGD (TAG,"Sync ID : %ld\n", (long) sync->getMessageId());
+    LOGD (TAG,"Sync STATE : %d\n", (int) sync->getState());
 
     jlong jMessageId = (long)  sync->getMessageId();
     jstring jProviderId = env->NewStringUTF(sync->getProviderId().c_str());
     jobject syncType = getJavaSyncType(env, sync->getState());
     if (!syncType)
     {
-        LOGE ("Failed to Get syncType for SyncInfo");
+        LOGE (TAG,"Failed to Get syncType for SyncInfo");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -801,7 +801,7 @@ void onSyncInfoListenerCb(OIC::Service::NSSyncInfo *sync)
     jclass cls_SyncInfo = (jclass) (env->NewLocalRef(g_cls_SyncInfo));
     if (!cls_SyncInfo)
     {
-        LOGE ("Failed to Get ObjectClass for SyncInfo");
+        LOGE (TAG,"Failed to Get ObjectClass for SyncInfo");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -814,7 +814,7 @@ void onSyncInfoListenerCb(OIC::Service::NSSyncInfo *sync)
                                  "(JLjava/lang/String;Lorg/iotivity/service/ns/common/SyncInfo$SyncType;)V");
     if (!mid_syncInfo)
     {
-        LOGE ("Failed to Get MethodID for SyncInfo");
+        LOGE (TAG,"Failed to Get MethodID for SyncInfo");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -826,7 +826,7 @@ void onSyncInfoListenerCb(OIC::Service::NSSyncInfo *sync)
                                            jMessageId, jProviderId, syncType);
     if (!obj_syncInfo)
     {
-        LOGE ("Failed to Get Object for SyncInfo");
+        LOGE (TAG,"Failed to Get Object for SyncInfo");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -837,7 +837,7 @@ void onSyncInfoListenerCb(OIC::Service::NSSyncInfo *sync)
     jclass cls = env->GetObjectClass( jSyncListener);
     if (!cls)
     {
-        LOGE("Failed to Get ObjectClass");
+        LOGE (TAG,"Failed to Get ObjectClass");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -850,7 +850,7 @@ void onSyncInfoListenerCb(OIC::Service::NSSyncInfo *sync)
                         "(Lorg/iotivity/service/ns/common/SyncInfo;)V");
     if (!mid)
     {
-        LOGE("Failed to Get MethodID");
+        LOGE (TAG,"Failed to Get MethodID");
         if (JNI_EDETACHED == envRet)
         {
             g_jvm_provider->DetachCurrentThread();
@@ -865,7 +865,7 @@ void onSyncInfoListenerCb(OIC::Service::NSSyncInfo *sync)
     {
         g_jvm_provider->DetachCurrentThread();
     }
-    LOGD("JNIProviderService: OnSyncInfoListenerCb - OUT");
+    LOGD (TAG,"JNIProviderService: OnSyncInfoListenerCb - OUT");
     return;
 
 }
@@ -874,11 +874,10 @@ JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_ProviderService_nat
 (JNIEnv *env, jobject jObj, jobject jSubscriptionListener, jobject jSyncListener,
  jboolean jPolicy, jstring jUserInfo, jboolean jResourceSecurity)
 {
-    LOGD("JNIProviderService: nativeStart - IN");
+    LOGD (TAG,"JNIProviderService: nativeStart - IN");
     if (!jSubscriptionListener || !jSyncListener)
     {
-        LOGE("Fail to set listeners");
-        ThrowNSException(NS_ERROR, "Listener cannot be null");
+        ThrowNSException(JNI_INVALID_VALUE, "Listener cannot be null");
         return (jint) OIC::Service::NSResult::ERROR;
     }
 
@@ -911,23 +910,23 @@ JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_ProviderService_nat
     OIC::Service::NSResult result = OIC::Service::NSProviderService::getInstance()->start(cfg);
     if (result != OIC::Service::NSResult::OK)
     {
-        LOGE("Fail to start NSProviderService");
+        ThrowNSException((int) result, "Fail to start NSProviderService");
 
     }
 
-    LOGD("JNIProviderService: nativeStart - OUT");
+    LOGD (TAG,"JNIProviderService: nativeStart - OUT");
     return (jint) result;
 }
 
 JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_ProviderService_nativeStop
 (JNIEnv *env, jobject jObj)
 {
-    LOGD("JNIProviderService: nativeStop - IN");
+    LOGD (TAG,"JNIProviderService: nativeStop - IN");
 
     OIC::Service::NSResult result = OIC::Service::NSProviderService::getInstance()->stop();
     if (result !=  OIC::Service::NSResult::OK)
     {
-        LOGD("Fail to stop NSProvider service");
+        ThrowNSException((int) result, "Fail to stop NSProviderService");
         return (jint) result;
     }
 
@@ -936,64 +935,68 @@ JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_ProviderService_nat
     g_obj_subscriptionListener = NULL;
     g_obj_syncListener = NULL;
 
-    LOGD("JNIProviderService: nativeStop - OUT");
+    LOGD (TAG,"JNIProviderService: nativeStop - OUT");
     return (jint) result;
 }
 
 JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_ProviderService_nativeSendMessage
 (JNIEnv *env, jobject jObj, jobject jMsg)
 {
-    LOGD("JNIProviderService: nativeSendMessage - IN");
+    LOGD (TAG,"JNIProviderService: nativeSendMessage - IN");
     if (!jMsg)
     {
-        LOGD("Fail to send notification - Message is null");
-        ThrowNSException(NS_ERROR, "Message cannot be null");
+        ThrowNSException(JNI_INVALID_VALUE, "Message cannot be null");
         return (jint) OIC::Service::NSResult::ERROR;
     }
     OIC::Service::NSMessage *nsMsg = getNativeMessage(env, jMsg);
     if (nsMsg == nullptr)
     {
-        ThrowNSException(NS_ERROR, "Message didn't have a field ID ");
+        ThrowNSException(JNI_INVALID_VALUE, "Message didn't have a field ID ");
         return (jint) OIC::Service::NSResult::ERROR;
     }
 
     OIC::Service::NSResult result = OIC::Service::NSProviderService::getInstance()->sendMessage(nsMsg);
     if (result !=  OIC::Service::NSResult::OK)
     {
-        LOGD("Fail to send NSProvider Message");
+        ThrowNSException((int) result, "Fail to send NSProvider Message");
     }
-    LOGD("JNIProviderService: nativeSendMessage - OUT");
+    LOGD (TAG,"JNIProviderService: nativeSendMessage - OUT");
     return (jint) result;
 }
 
 JNIEXPORT void JNICALL Java_org_iotivity_service_ns_provider_ProviderService_nativeSendSyncInfo
 (JNIEnv *env, jobject jObj, jlong messageId , jint syncState)
 {
-    LOGD("JNIProviderService: nativeSendSyncInfo - IN");
-    OIC::Service::NSProviderService::getInstance()->sendSyncInfo( messageId,
+    LOGD (TAG,"JNIProviderService: nativeSendSyncInfo - IN");
+    OIC::Service::NSResult result = OIC::Service::NSProviderService::getInstance()->sendSyncInfo( messageId,
             (OIC::Service::NSSyncInfo::NSSyncType) syncState);
-    LOGD("JNIProviderService: nativeSendSyncInfo - OUT");
+    if (result !=  OIC::Service::NSResult::OK)
+    {
+        ThrowNSException((int) result, "Fail to send NSProvider SendSyncInfo");
+        return;
+    }
+    LOGD (TAG,"JNIProviderService: nativeSendSyncInfo - OUT");
     return;
 }
 
 JNIEXPORT jobject JNICALL Java_org_iotivity_service_ns_provider_ProviderService_nativeCreateMessage
 (JNIEnv *env, jobject jObj)
 {
-    LOGD("JNIProviderService: nativeCreateMessage - IN");
+    LOGD (TAG,"JNIProviderService: nativeCreateMessage - IN");
     OIC::Service::NSMessage *message =
         OIC::Service::NSProviderService::getInstance()->createMessage();
     if (message == nullptr)
     {
-        ThrowNSException(NS_ERROR, "Couldn't get Native Message");
+        ThrowNSException(JNI_INVALID_VALUE, "Couldn't get Native Message");
         return NULL;
     }
     jobject jMsg =  getJavaMessage(env, message);
     if (!jMsg)
     {
-        ThrowNSException(NS_ERROR, "Couldn't create Java Message");
+        ThrowNSException(JNI_INVALID_VALUE, "Couldn't create Java Message");
         return NULL;
     }
-    LOGD("JNIProviderService: nativeCreateMessage - OUT");
+    LOGD (TAG,"JNIProviderService: nativeCreateMessage - OUT");
     return jMsg;
 }
 
@@ -1001,10 +1004,10 @@ JNIEXPORT jint JNICALL
 Java_org_iotivity_service_ns_provider_ProviderService_nativeEnableRemoteService
 (JNIEnv *env, jobject jObj, jstring jstr)
 {
-    LOGD("JNIProviderService: nativeEnableRemoteService - IN");
+    LOGD (TAG,"JNIProviderService: nativeEnableRemoteService - IN");
     if (!jstr)
     {
-        ThrowNSException(NS_ERROR, "Server Address Can't be NULL");
+        ThrowNSException(JNI_INVALID_VALUE, "Server Address Can't be NULL");
         return (jint) OIC::Service::NSResult::ERROR;
     }
 
@@ -1015,10 +1018,10 @@ Java_org_iotivity_service_ns_provider_ProviderService_nativeEnableRemoteService
             servAddress);
     if (result !=  OIC::Service::NSResult::OK)
     {
-        LOGE("Fail to Enable Remote Service");
+        ThrowNSException((int) result, "Fail to  Enable Remote Service");
     }
     env->ReleaseStringUTFChars(jstr, address);
-    LOGD("JNIProviderService: nativeEnableRemoteService - OUT");
+    LOGD (TAG,"JNIProviderService: nativeEnableRemoteService - OUT");
     return (jint) result;
 }
 
@@ -1026,10 +1029,10 @@ JNIEXPORT jint JNICALL
 Java_org_iotivity_service_ns_provider_ProviderService_nativeDisableRemoteService
 (JNIEnv *env, jobject jObj, jstring jstr)
 {
-    LOGD("JNIProviderService: nativeDisableRemoteService - IN");
+    LOGD (TAG,"JNIProviderService: nativeDisableRemoteService - IN");
     if (!jstr)
     {
-        ThrowNSException(NS_ERROR, "Server Address Can't be NULL");
+        ThrowNSException(JNI_INVALID_VALUE, "Server Address Can't be NULL");
         return (jint) OIC::Service::NSResult::ERROR;
     }
 
@@ -1040,10 +1043,10 @@ Java_org_iotivity_service_ns_provider_ProviderService_nativeDisableRemoteService
             servAddress);
     if (result !=  OIC::Service::NSResult::OK)
     {
-        LOGE("Fail to Disable Remote Service");
+        ThrowNSException((int) result, "Fail to  Disable Remote Service");
     }
     env->ReleaseStringUTFChars(jstr, address);
-    LOGD("JNIProviderService: nativeDisableRemoteService - OUT");
+    LOGD (TAG,"JNIProviderService: nativeDisableRemoteService - OUT");
     return (jint) result;
 }
 
@@ -1051,15 +1054,15 @@ JNIEXPORT jint JNICALL
 Java_org_iotivity_service_ns_provider_ProviderService_nativeSubscribeMQService
 (JNIEnv *env, jobject jObj, jstring jserverAddress, jstring jTopicName)
 {
-    LOGD("JNIProviderService: nativeSubscribeMQService - IN");
+    LOGD (TAG,"JNIProviderService: nativeSubscribeMQService - IN");
     if (!jserverAddress)
     {
-        ThrowNSException(NS_ERROR, "Server Address Can't be NULL");
+        ThrowNSException(JNI_INVALID_VALUE, "Server Address Can't be NULL");
         return (jint) OIC::Service::NSResult::ERROR;
     }
     if (!jTopicName)
     {
-        ThrowNSException(NS_ERROR, "TopicName Can't be NULL");
+        ThrowNSException(JNI_INVALID_VALUE, "TopicName Can't be NULL");
         return (jint) OIC::Service::NSResult::ERROR;
     }
 
@@ -1073,21 +1076,21 @@ Java_org_iotivity_service_ns_provider_ProviderService_nativeSubscribeMQService
             servAddress, topicName);
     if (result !=  OIC::Service::NSResult::OK)
     {
-        LOGE("Fail to Subscribe to MQ Service");
+        ThrowNSException((int) result, "Fail to  Subscribe to MQ Service");
     }
     env->ReleaseStringUTFChars(jserverAddress, address);
     env->ReleaseStringUTFChars(jTopicName, topic);
-    LOGD("JNIProviderService: nativeSubscribeMQService - OUT");
+    LOGD (TAG,"JNIProviderService: nativeSubscribeMQService - OUT");
     return (jint) result;
 }
 
 JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_ProviderService_nativeRegisterTopic
 (JNIEnv *env, jobject jObj, jstring jTopicName)
 {
-    LOGD("JNIProviderService: nativeRegisterTopic - IN");
+    LOGD (TAG,"JNIProviderService: nativeRegisterTopic - IN");
     if (!jTopicName)
     {
-        ThrowNSException(NS_ERROR, "Topic Name Can't be NULL");
+        ThrowNSException(JNI_INVALID_VALUE, "Topic Name Can't be NULL");
         return (jint) OIC::Service::NSResult::ERROR;
     }
     const char *name = env->GetStringUTFChars( jTopicName, NULL);
@@ -1096,19 +1099,19 @@ JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_ProviderService_nat
                                          topicName);
     if (result !=  OIC::Service::NSResult::OK)
     {
-        LOGE("Fail to Register Topic");
+        ThrowNSException((int) result, "Fail to  Register Topic");
     }
     env->ReleaseStringUTFChars(jTopicName, name);
-    LOGD("JNIProviderService: nativeRegisterTopic - OUT");
+    LOGD (TAG,"JNIProviderService: nativeRegisterTopic - OUT");
     return (jint) result;
 }
 JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_ProviderService_nativeUnregisterTopic
 (JNIEnv *env, jobject jObj, jstring jTopicName)
 {
-    LOGD("JNIProviderService: nativeUnregisterTopic - IN");
+    LOGD (TAG,"JNIProviderService: nativeUnregisterTopic - IN");
     if (!jTopicName)
     {
-        ThrowNSException(NS_ERROR, "Topic Name Can't be NULL");
+        ThrowNSException(JNI_INVALID_VALUE, "Topic Name Can't be NULL");
         return (jint) OIC::Service::NSResult::ERROR;
     }
     const char *name = env->GetStringUTFChars( jTopicName, NULL);
@@ -1117,10 +1120,10 @@ JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_ProviderService_nat
                                          topicName);
     if (result !=  OIC::Service::NSResult::OK)
     {
-        LOGE("Fail to Unregister Topic");
+        ThrowNSException((int) result, "Fail to  Unregister Topic");
     }
     env->ReleaseStringUTFChars(jTopicName, name);
-    LOGD("JNIProviderService: nativeUnregisterTopic - OUT");
+    LOGD (TAG,"JNIProviderService: nativeUnregisterTopic - OUT");
     return (jint) result;
 }
 
@@ -1128,54 +1131,58 @@ JNIEXPORT jobject JNICALL
 Java_org_iotivity_service_ns_provider_ProviderService_nativeGetRegisteredTopicList
 (JNIEnv *env, jobject jObj)
 {
-    LOGD("JNIProviderService: nativeGetRegisteredTopicList - IN");
+    LOGD (TAG,"JNIProviderService: nativeGetRegisteredTopicList - IN");
 
     OIC::Service::NSTopicsList *topicList  =
         OIC::Service::NSProviderService::getInstance()->getRegisteredTopicList();
     if (topicList == nullptr)
     {
-        ThrowNSException(NS_ERROR, "Topic List doesn't exist");
+        ThrowNSException(JNI_INVALID_VALUE, "Topic List doesn't exist");
         return NULL;
     }
 
     jobject obj_topicList = getJavaTopicsList(env, topicList);
     delete topicList;
 
-    LOGD("JNIProviderService: nativeGetRegisteredTopicList - OUT");
+    LOGD (TAG,"JNIProviderService: nativeGetRegisteredTopicList - OUT");
     return obj_topicList;
 }
 
 JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_Consumer_nativeAcceptSubscription
 (JNIEnv *env,  jobject jObj, jstring jConsumerId, jboolean jAccepted)
 {
-    LOGD("JNIProviderService: nativeAcceptSubscription - IN");
+    LOGD (TAG,"JNIProviderService: nativeAcceptSubscription - IN");
     if (!jConsumerId)
     {
-        ThrowNSException(NS_ERROR, "ConsumerId Can't be NULL");
+        ThrowNSException(JNI_INVALID_VALUE, "ConsumerId Can't be NULL");
         return (jint) OIC::Service::NSResult::ERROR;
     }
     const char *id = env->GetStringUTFChars( jConsumerId, NULL);
     std::string consumerId(id);
-    LOGD("Consumer ID: %s\n", consumerId.c_str());
+    LOGD (TAG,"Consumer ID: %s\n", consumerId.c_str());
 
     OIC::Service::NSConsumer *consumer =
         OIC::Service::NSProviderService::getInstance()->getConsumer(consumerId);
     if (consumer)
     {
-        return (jint) consumer->acceptSubscription((bool)jAccepted);
+        OIC::Service::NSResult result  = consumer->acceptSubscription((bool)jAccepted);
+        if (result !=  OIC::Service::NSResult::OK)
+        {
+            ThrowNSException((int) result, "Fail to  acceptSubscription");
+            return (jint) result;
+        }
     }
-
-    LOGE("Couldn't find consumer");
-    LOGD("JNIProviderService: nativeAcceptSubscription - OUT");
+    LOGE (TAG,"Couldn't find consumer");
+    ThrowNSException(JNI_NO_NATIVE_POINTER, "Fail to  find consumer");
     return (jint) OIC::Service::NSResult::ERROR;
 }
 JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_Consumer_nativeSetConsumerTopic
 (JNIEnv *env, jobject jObj, jstring jConsumerId, jstring jTopicName)
 {
-    LOGD("JNIProviderService: nativeSetConsumerTopic - IN");
+    LOGD (TAG,"JNIProviderService: nativeSetConsumerTopic - IN");
     if (!jConsumerId || !jTopicName)
     {
-        ThrowNSException(NS_ERROR, "Topic Name or ConsumerId Can't be NULL");
+        ThrowNSException(JNI_INVALID_VALUE, "Topic Name or ConsumerId Can't be NULL");
         return (jint) OIC::Service::NSResult::ERROR;
     }
     const char *name = env->GetStringUTFChars( jTopicName, NULL);
@@ -1186,27 +1193,27 @@ JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_Consumer_nativeSetC
         OIC::Service::NSProviderService::getInstance()->getConsumer(consumerId);
     if (!nsConsumer)
     {
-        ThrowNSException(NS_ERROR, "Consumer does exists");
+        ThrowNSException(JNI_NO_NATIVE_POINTER, "Consumer does exists");
         return (jint) OIC::Service::NSResult::ERROR;
     }
     OIC::Service::NSResult result  = nsConsumer->setTopic(topicName);
 
     if (result !=  OIC::Service::NSResult::OK)
     {
-        LOGD("Fail to Select Topic");
+        ThrowNSException((int) result, "Fail to  Select Topic");
     }
     env->ReleaseStringUTFChars(jTopicName, name);
     env->ReleaseStringUTFChars(jConsumerId, id);
-    LOGD("JNIProviderService: nativeSetConsumerTopic - OUT");
+    LOGD (TAG,"JNIProviderService: nativeSetConsumerTopic - OUT");
     return (jint) result;
 }
 JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_Consumer_nativeUnsetConsumerTopic
 (JNIEnv *env, jobject jObj, jstring jConsumerId, jstring jTopicName)
 {
-    LOGD("JNIProviderService: nativeUnsetConsumerTopic - IN");
+    LOGD (TAG,"JNIProviderService: nativeUnsetConsumerTopic - IN");
     if (!jConsumerId || !jTopicName)
     {
-        ThrowNSException(NS_ERROR, "Topic Name or ConsumerId Can't be NULL");
+        ThrowNSException(JNI_INVALID_VALUE, "Topic Name or ConsumerId Can't be NULL");
         return (jint) OIC::Service::NSResult::ERROR;
     }
     const char *name = env->GetStringUTFChars( jTopicName, NULL);
@@ -1217,28 +1224,28 @@ JNIEXPORT jint JNICALL Java_org_iotivity_service_ns_provider_Consumer_nativeUnse
         OIC::Service::NSProviderService::getInstance()->getConsumer(consumerId);
     if (!nsConsumer)
     {
-        ThrowNSException(NS_ERROR, "Consumer does exists");
+        ThrowNSException(JNI_NO_NATIVE_POINTER, "Consumer does exists");
         return (jint) OIC::Service::NSResult::ERROR;
     }
     OIC::Service::NSResult result  = nsConsumer->unsetTopic(topicName);
 
     if (result !=  OIC::Service::NSResult::OK)
     {
-        LOGE("Fail to Unselect Topic");
+        ThrowNSException((int) result, "Fail to  Unselect Topic");
     }
     env->ReleaseStringUTFChars(jTopicName, name);
     env->ReleaseStringUTFChars(jConsumerId, id);
-    LOGD("JNIProviderService: nativeUnsetConsumerTopic - OUT");
+    LOGD (TAG,"JNIProviderService: nativeUnsetConsumerTopic - OUT");
     return (jint) result;
 }
 
 JNIEXPORT jobject JNICALL Java_org_iotivity_service_ns_provider_Consumer_nativeGetConsumerTopicList
 (JNIEnv *env, jobject jObj, jstring jConsumerId)
 {
-    LOGD("JNIProviderService: nativeGetConsumerTopicList - IN");
+    LOGD (TAG,"JNIProviderService: nativeGetConsumerTopicList - IN");
     if (!jConsumerId)
     {
-        ThrowNSException(NS_ERROR, "Topic Name or ConsumerId Can't be NULL");
+        ThrowNSException(JNI_INVALID_VALUE, "Topic Name or ConsumerId Can't be NULL");
         return NULL;
     }
     const char *id = env->GetStringUTFChars( jConsumerId, NULL);
@@ -1247,33 +1254,33 @@ JNIEXPORT jobject JNICALL Java_org_iotivity_service_ns_provider_Consumer_nativeG
         OIC::Service::NSProviderService::getInstance()->getConsumer(consumerId);
     if (!nsConsumer)
     {
-        ThrowNSException(NS_ERROR, "Consumer does exists");
+        ThrowNSException(JNI_NO_NATIVE_POINTER, "Consumer does exists");
         return NULL;
     }
     env->ReleaseStringUTFChars(jConsumerId, id);
     OIC::Service::NSTopicsList *topicList  = nsConsumer->getConsumerTopicList();
     if (topicList == nullptr)
     {
-        ThrowNSException(NS_ERROR, "Topic List doesn't exist");
+        ThrowNSException(JNI_NO_NATIVE_POINTER, "Topic List doesn't exist");
         return NULL;
     }
     jobject obj_topicList = getJavaTopicsList(env, topicList);
     delete topicList;
 
-    LOGD("JNIProviderService: nativeGetConsumerTopicList - OUT");
+    LOGD (TAG,"JNIProviderService: nativeGetConsumerTopicList - OUT");
     return obj_topicList;
 }
 
 // JNI OnLoad
 JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
 {
-    LOGD("ProviderService_JNI_OnLoad");
+    LOGD (TAG,"ProviderService_JNI_OnLoad");
     g_jvm_provider = jvm;
 
     JNIEnv *env = NULL;
     if (jvm->GetEnv((void **)&env, JNI_CURRENT_VERSION) != JNI_OK)
     {
-        LOGE("Failed to get the environment using GetEnv()");
+        LOGE (TAG,"Failed to get the environment using GetEnv()");
         return JNI_ERR;
     }
 
@@ -1281,13 +1288,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                               "org/iotivity/service/ns/common/Message");
     if (!localMessage)
     {
-        LOGE("Failed to get local Message class");
+        LOGE (TAG,"Failed to get local Message class");
         return JNI_ERR;
     }
     g_cls_Message = (jclass) (env->NewGlobalRef(localMessage));
     if (!g_cls_Message)
     {
-        LOGE("Failed to set Global Message reference");
+        LOGE (TAG,"Failed to set Global Message reference");
         return JNI_ERR;
     }
 
@@ -1295,13 +1302,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                   "org/iotivity/service/ns/common/Message$MessageType");
     if (!localMessageType)
     {
-        LOGE("Failed to get local Message Type class");
+        LOGE (TAG,"Failed to get local Message Type class");
         return JNI_ERR;
     }
     g_cls_Message_Type = (jclass) (env->NewGlobalRef(localMessageType));
     if (!g_cls_Message_Type)
     {
-        LOGE("Failed to set Global Message Type reference");
+        LOGE (TAG,"Failed to set Global Message Type reference");
         return JNI_ERR;
     }
 
@@ -1309,13 +1316,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                "org/iotivity/service/ns/provider/Consumer");
     if (!localConsumer)
     {
-        LOGE("Failed to get local Provider class");
+        LOGE (TAG,"Failed to get local Provider class");
         return JNI_ERR;
     }
     g_cls_Consumer = (jclass) (env->NewGlobalRef(localConsumer));
     if (!g_cls_Consumer)
     {
-        LOGE("Failed to set Global Provider reference");
+        LOGE (TAG,"Failed to set Global Provider reference");
         return JNI_ERR;
     }
 
@@ -1323,13 +1330,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                "org/iotivity/service/ns/common/SyncInfo");
     if (!localSyncInfo)
     {
-        LOGE("Failed to get local SyncInfo class");
+        LOGE (TAG,"Failed to get local SyncInfo class");
         return JNI_ERR;
     }
     g_cls_SyncInfo = (jclass) (env->NewGlobalRef(localSyncInfo));
     if (!g_cls_SyncInfo)
     {
-        LOGE("Failed to set Global SyncInfo reference");
+        LOGE (TAG,"Failed to set Global SyncInfo reference");
         return JNI_ERR;
     }
 
@@ -1337,13 +1344,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                "org/iotivity/service/ns/common/SyncInfo$SyncType");
     if (!localSyncType)
     {
-        LOGE("Failed to get local SyncType enum");
+        LOGE (TAG,"Failed to get local SyncType enum");
         return JNI_ERR;
     }
     g_cls_SyncType = (jclass) (env->NewGlobalRef(localSyncType));
     if (!g_cls_SyncType)
     {
-        LOGE("Failed to set Global SyncType reference");
+        LOGE (TAG,"Failed to set Global SyncType reference");
         return JNI_ERR;
     }
 
@@ -1351,13 +1358,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                     "org/iotivity/service/ns/common/MediaContents");
     if (!localMediaContents)
     {
-        LOGE("Failed to get local MediaContents class");
+        LOGE (TAG,"Failed to get local MediaContents class");
         return JNI_ERR;
     }
     g_cls_MediaContents = (jclass) (env->NewGlobalRef(localMediaContents));
     if (!g_cls_MediaContents)
     {
-        LOGE("Failed to set Global MediaContents reference");
+        LOGE (TAG,"Failed to set Global MediaContents reference");
         return JNI_ERR;
     }
 
@@ -1365,13 +1372,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                             "org/iotivity/service/ns/common/Topic");
     if (!localTopic)
     {
-        LOGE("Failed to get local Topic class");
+        LOGE (TAG,"Failed to get local Topic class");
         return JNI_ERR;
     }
     g_cls_Topic = (jclass) (env->NewGlobalRef(localTopic));
     if (!g_cls_Topic)
     {
-        LOGE("Failed to set Global Topic reference");
+        LOGE (TAG,"Failed to set Global Topic reference");
         return JNI_ERR;
     }
 
@@ -1379,13 +1386,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                  "org/iotivity/service/ns/common/TopicsList");
     if (!localTopicsList)
     {
-        LOGE("Failed to get local Topic class");
+        LOGE (TAG,"Failed to get local Topic class");
         return JNI_ERR;
     }
     g_cls_TopicsList = (jclass) (env->NewGlobalRef(localTopicsList));
     if (!g_cls_TopicsList)
     {
-        LOGE("Failed to set Global TopicsList reference");
+        LOGE (TAG,"Failed to set Global TopicsList reference");
         return JNI_ERR;
     }
 
@@ -1393,13 +1400,13 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
                                  "org/iotivity/service/ns/common/Topic$TopicState");
     if (!localTopicState)
     {
-        LOGE("Failed to get local TopicState enum");
+        LOGE (TAG,"Failed to get local TopicState enum");
         return JNI_ERR;
     }
     g_cls_TopicState = (jclass) (env->NewGlobalRef(localTopicState));
     if (!g_cls_TopicState)
     {
-        LOGE("Failed to set Global TopicState reference");
+        LOGE (TAG,"Failed to set Global TopicState reference");
         return JNI_ERR;
     }
 
@@ -1407,20 +1414,20 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
     jclass localOcRepresentation = env->FindClass("org/iotivity/base/OcRepresentation");
     if (!localOcRepresentation)
     {
-        LOGE("Failed to get local OcRepresentation class");
+        LOGE (TAG,"Failed to get local OcRepresentation class");
         return JNI_ERR;
     }
     g_cls_OcRepresentation = (jclass) env->NewGlobalRef(localOcRepresentation);
     if (!g_cls_OcRepresentation)
     {
-        LOGE("Failed to set Global OcRepresentation reference");
+        LOGE (TAG,"Failed to set Global OcRepresentation reference");
         return JNI_ERR;
     }
 
     g_mid_OcRepresentation_N_ctor_bool = env->GetMethodID(g_cls_OcRepresentation, "<init>", "(JZ)V");
     if (!g_mid_OcRepresentation_N_ctor_bool)
     {
-        LOGE("Failed to get Global OcRepresentation Constructor reference");
+        LOGE (TAG,"Failed to get Global OcRepresentation Constructor reference");
         return JNI_ERR;
     }
 
@@ -1440,12 +1447,12 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
 
 JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *jvm, void *reserved)
 {
-    LOGD("ProviderService_JNI_OnUnload");
+    LOGD (TAG,"ProviderService_JNI_OnUnload");
     JNIEnv *env = NULL;
 
     if (jvm->GetEnv((void **)&env, JNI_CURRENT_VERSION) != JNI_OK)
     {
-        LOGE("Failed to get the environment using GetEnv()");
+        LOGE (TAG,"Failed to get the environment using GetEnv()");
         return ;
     }