[NLP] Fix crash issue
authorJihoon Kim <jihoon48.kim@samsung.com>
Wed, 11 Aug 2021 04:53:19 +0000 (13:53 +0900)
committerurmain <wn.jang@samsung.com>
Tue, 17 Aug 2021 01:26:54 +0000 (10:26 +0900)
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/Tizen.Nlp/Tizen.Nlp/NaturalLanguageProcess.cs

index 4cc0b88..bff123d 100755 (executable)
@@ -116,46 +116,55 @@ namespace Tizen.Nlp
         {
             Log.Debug(LogTag, "OnReceived ");
             MessageReceivedEventArgs e = new MessageReceivedEventArgs();
-            int requestid;
+            int requestid = 0;
             Dictionary<string, string[]> result = new Dictionary<string, string[]>();
-            result.Add("token", (string[])msg.GetItem("return_token"));
-            e.RequestId = requestid = int.Parse((string)msg.GetItem("request_id"));
-            if (msg.GetItem("command").Equals("word_tokenize"))
+            if (msg.Contains("return_token"))
+                result.Add("token", (string[])msg.GetItem("return_token"));
+
+            if (msg.Contains("request_id"))
+                e.RequestId = requestid = int.Parse((string)msg.GetItem("request_id"));
+            else
+                return;
+
+            if (msg.Contains("command"))
             {
-                e.Message = result;
-                if (_mapsWordTokenize.ContainsKey(requestid))
+                if (msg.GetItem("command").Equals("word_tokenize"))
                 {
-                    _mapsWordTokenize[requestid]?.Invoke(e);
-                    _mapsWordTokenize.Remove(requestid);
+                    e.Message = result;
+                    if (_mapsWordTokenize.ContainsKey(requestid))
+                    {
+                        _mapsWordTokenize[requestid]?.Invoke(e);
+                        _mapsWordTokenize.Remove(requestid);
+                    }
                 }
-            }
-            else if (msg.GetItem("command").Equals("pos_tag"))
-            {
-                result.Add("tag", (string[])msg.GetItem("return_tag"));
-                e.Message = result;
-                if (_mapsPosTag.ContainsKey(requestid))
+                else if (msg.GetItem("command").Equals("pos_tag"))
                 {
-                    _mapsPosTag[requestid]?.Invoke(e);
-                    _mapsPosTag.Remove(requestid);
+                    result.Add("tag", (string[])msg.GetItem("return_tag"));
+                    e.Message = result;
+                    if (_mapsPosTag.ContainsKey(requestid))
+                    {
+                        _mapsPosTag[requestid]?.Invoke(e);
+                        _mapsPosTag.Remove(requestid);
+                    }
                 }
-            }
-            else if (msg.GetItem("command").Equals("ne_chunk"))
-            {
-                result.Add("tag", (string[])msg.GetItem("return_tag"));
-                e.Message = result;
-                if (_mapsNamedEntity.ContainsKey(requestid))
+                else if (msg.GetItem("command").Equals("ne_chunk"))
                 {
-                    _mapsNamedEntity[requestid]?.Invoke(e);
-                    _mapsNamedEntity.Remove(requestid);
+                    result.Add("tag", (string[])msg.GetItem("return_tag"));
+                    e.Message = result;
+                    if (_mapsNamedEntity.ContainsKey(requestid))
+                    {
+                        _mapsNamedEntity[requestid]?.Invoke(e);
+                        _mapsNamedEntity.Remove(requestid);
+                    }
                 }
-            }
-            else if (msg.GetItem("command").Equals("langdetect"))
-            {
-                e.Message = result;
-                if (_mapsLangDetect.ContainsKey(requestid))
+                else if (msg.GetItem("command").Equals("langdetect"))
                 {
-                    _mapsLangDetect[requestid]?.Invoke(e);
-                    _mapsLangDetect.Remove(requestid);
+                    e.Message = result;
+                    if (_mapsLangDetect.ContainsKey(requestid))
+                    {
+                        _mapsLangDetect[requestid]?.Invoke(e);
+                        _mapsLangDetect.Remove(requestid);
+                    }
                 }
             }
         }
@@ -343,4 +352,4 @@ namespace Tizen.Nlp
             return task.Task;
         }
     }
-}
\ No newline at end of file
+}